如何在C#中将DataRow转换为DataRowView

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

例如:

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

使用

 DataTable dt=ds.Tables[0]; DataRow dr= dt.NewRow(); DataRowView drv= dt.DefaultView[dt.Rows.IndexOf(dr)]; 

如果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]; } 

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

 DataRowView selecRow = dataTable.DefaultView.Cast().Where(a => a.Row == desRow).FirstOrDefault(); 
 DataRowView selecRow = dataTable.DefaultView.Cast().FirstOrDefault(a => a.Row == desRow); 

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