13

可以或如何将 DataRow 转换为 DataRowView?

例如:

   DataTable dt=ds.Tables[0];
   DataRow dr= dt.NewRow();           
   DataRowView drv = ???? 
4

4 回答 4

29

利用

DataTable dt=ds.Tables[0];
DataRow dr= dt.NewRow();         
DataRowView drv= dt.DefaultView[dt.Rows.IndexOf(dr)];
于 2013-03-26T08:02:53.043 回答
2

如果 DataRow 状态为 Detached,则上述方法不起作用。在这种情况下可以使用此代码段:

        DataRow dRow = dataTable.NewRow();
        //...
        DataRowView dRowView = dRow.Table.DefaultView.AddNew();

        for (int i = 0; i < dRow.ItemArray.Length; i++)
        {
            dRowView.Row[i] = dRow[i];
        }
于 2014-06-05T16:36:30.073 回答
2
DataRowView selecRow = dataTable.DefaultView.Cast<DataRowView>().FirstOrDefault(a => a.Row == desRow);

工作,这是一个小短没有“哪里”;-)

于 2018-04-11T16:10:03.043 回答
1

利用。如果订购了 DataGrid,它也可以工作。

DataRowView selecRow = dataTable.DefaultView.Cast<DataRowView>().Where(a => a.Row == desRow).FirstOrDefault();
于 2018-02-06T10:32:39.460 回答