How to make C# DataTable filter

后端 未结 6 1455
暗喜
暗喜 2020-12-03 14:31

my datatable;

    dtData

    ID | ID2
    --------
    1  |  2
    1  |  3


dtData.Select(\"ID = 1\"); one more rows;

i want row \"ID = 1

相关标签:
6条回答
  • Here you can copy your contents to another DataTable by using CopyToDataTable method of Linq while selecting the specific rows by filtering.

    DataTable dt2 = dt.Select("state = 'FL' ").CopyToDataTable; 
    
    0 讨论(0)
  • 2020-12-03 14:46
    DataTable dt2 = dt.Select("ID = 1").CopyToDataTable;
    

    make sure dt has rows in it

    0 讨论(0)
  • 2020-12-03 14:52

    Okay, here is how I do such things...

        GridFieldDAO dao = new GridFieldDAO();
        //Load My DataTable
        DataTable dt = dao.getDT();
        //Get My rows based off selection criteria
        DataRow[] drs = dt.Select("(detailID = 1) AND (detailTypeID = 2)");
        //make a new "results" datatable via clone to keep structure
        DataTable dt2 = dt.Clone();
        //Import the Rows
        foreach (DataRow d in drs)
        {
            dt2.ImportRow(d);
        }
        //Bind to my new DataTable and it will only show rows based off selection 
        //criteria
        myGrid.DataSource = dt2;
        myGrid.DataBind();
    

    Notice in my Select() I put the criteria in Parens between AND and OR

    Hope this helps! Mike V

    0 讨论(0)
  • 2020-12-03 14:54

    Do you mean like this?:

    dtData.Select("ID=1 AND ID2=3");
    
    0 讨论(0)
  • 2020-12-03 15:03

    Better use this :

    GridFieldDAO dao = new GridFieldDAO();
    //Load My DataTable
    DataTable dt = dao.getDT();
    //Get My rows based off selection criteria and copy them directly to datatable
    DataTable dt2 = dt.Select("(detailID = 1) AND (detailTypeID = 2)").CopyToDataTable();
    
    0 讨论(0)
  • 2020-12-03 15:05

    Great example and very helpful. Wanted to add one thing - if you need to select on a string use something like:

    DataTable dt2 = dt.Select("state = 'FL' "); 
    
    0 讨论(0)
提交回复
热议问题