能否或如何将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];
}
DataRowView selecRow = dataTable.DefaultView.Cast<DataRowView>().FirstOrDefault(a => a.Row == desRow);
有效,这是一个不带"where"的litte短;-(
使用。如果DataGrid是有序的,它也可以工作。
DataRowView selecRow = dataTable.DefaultView.Cast<DataRowView>().Where(a => a.Row == desRow).FirstOrDefault();