类似于DateView 中的RowFilter
DisplayExpression如何使用?

解决方案 »

  1.   

    DataTable.select();
    这个会给你一个DataRow Array,就是这样DataRow[] dr = Datatable.Select("ID_USER='CSDN");然后你可以用这个dr, 也可以把他们import进另外一个表。
      

  2.   

    为什么用DataTable.ImportRow()方法导入过滤的DataRow时,DataTable.Columns.Count的值为0啊
    候教~
      

  3.   

    但DataTable.Rows.Count的值是过滤的准确数字
      

  4.   

    遍历DataTable,然后找到匹配的值将一个中间变量保存现有的值
    for( int i=0;i<dt.Rows.Count;i++)
    {
        for(int j=0;j<dt.Columns.Count;j++)
        {
            if( dt.Rows[i][j].ToString() == "Value1" )//加入是字符串型
            {
                dt.Rows[i][j] = "Value2";
            }
        }
    }类似问题应该也可以解决
      

  5.   

    是的,确实会这样,但是这样写就可以了
    DataTable tb = 原始的数据;
    DataRow[] tmpRows = tb.Select("[字段一] > 1");
                DataTable newTb = tb.Clone();
                foreach(DataRow row in tmpRows)
                    newTb.ImportRow(row);
                int aaa = newTb.Columns.Count;
      

  6.   

    DataRow[] dr = data报表.Select("ID_USER='CSDN'");
    DataTable data = new DataTable();
    for(int i=0; i<dr.Length; i++)
       {
          data.ImportRow(dr[i]);
        }
      

  7.   

    非常感谢:
     flyingonnet()
     Eddie005(♂) 暴赱 『零零伍』 (︶︵︶) 像我上面那样写就是错误的感谢其他人参与!
      

  8.   

    用 importrow能这不能复制到原来的datatabel呢?
      

  9.   

    实际上估计你的需要这样子写效率更高:(率选得到一个新的DataTable,不想更改原有的DataTable)
    DataTable tb = 原始的数据;
    DataTable newTb = tb.Copy();
    newTb.DefaultView.RowFilter = "[字段一] > 1";
    newTb.AcceptChange();
    int aaa = newTb.Columns.Count;
    这就不用循环用ImportRow了