可以用这个DataTable的DefaultView属性的RowFilter设置过滤条件,这样方便些.

解决方案 »

  1.   

    能否详细一些,我这个是实现分页的,所以在DefaultView里面过滤的时候是否已经晚了
      

  2.   

    靠,遇到同样的问题了.我也是别人返回了50条数据,已经放到datatable中,
    然后我要对datatable分页.DataTable dt = new DataTable();
    dt = softlist.Clone();//softlist是别人返回的有表结构和50条记录的datatable
    int pi = pager.CurrentPageIndex;
    int ps = pager.PageSize;
    for (int i= (pi-1)*ps;i<pi*ps;i++)
    {
            if (i<softlist.Rows.Count)
                dt.ImportRow(softlist.Rows[i]);
    }
    DgSoftList.DataSource = dt.DefaultView;//softlist.DefaultView;
    DgSoftList.DataBind();解决,真麻烦!
      

  3.   

    我想把top 10和where Id not in (select top 20 Id from tableA where SenderName = 'Tom' )这两个都作为过滤条件
    --------------------
    top 10:
    DataTable dt = new DataTable();dt = getData();for(int i=0;i<10;i++)
    {
        string strTest = dt.Rows[i]["列名"].ToString();
    }select top 20 Id from tableA where SenderName = 'Tom':
    DataTable.Select("SenderName ='Tom'");其实,这样的功能用SQL实现最好不过了,不必要求肯定要用C#,除非你没有与数据库打交道.
      

  4.   

    我确实是没用数据库,我用别人的一个服务从活动目录里面读出来的数据,自己拚成一个datatable,所以不能直接用sql实现
      

  5.   

    DataTable.Select("(字段名1='ABCD') and (字段名2>1234)")
      

  6.   

    在MSDN里查XPath 除了位运算以外都支持