给我的感觉就好像dv并没有被运行一样。是否DV加完这些条件后也要像datagird一样再用一次datagrid.databind()啊?

解决方案 »

  1.   

    如果没有主键,可以使用DataView.RowFilter过滤,
    或DataTable的Select方法。
      

  2.   

    我也试过了。
    关系Dv.RowFilter="ID1=7"
    string ID2=关系Dv.Table.Rows[0][3].ToString().Trim();
    这样ID2应该返回对应的ID2是吧?可返回的是第一行。把Rows[3][3]这样后返回的是第4行。好像RowFilter没起什么做用。
      

  3.   

    DataView dataView = new DataView(dataSet.Tables["yourTable"],"","Key",DataView.CurrentRows);
    手写的,可能有十五的地方,其中的Key就是主键列
    然后调用Find方法就可以了
      

  4.   

    没有对应的返回值是因为你调用的是
    string ID2=关系Dv.Table.Rows[rowindex][3].ToString().Trim();
    它返回的还是整个表的结构,而不是DATAVIEW,想得到正确的DATAVIEW的值应该是:
    关系Dv[0][3].ToString(),这才是你想要的ID2。