简体   繁体   English

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

[英]How Can Convert DataRow to DataRowView in c#

Can or how to convert DataRow to DataRowView? 可以或如何将DataRow转换为DataRowView?

For example: 例如:

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

Use 采用

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

The above method does not work if the DataRow status is Detached. 如果DataRow状态为Detached,则上述方法不起作用。 This code snippet could be used in such case: 在这种情况下可以使用此代码段:

        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);

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

Use. 采用。 It also works if the DataGrid is ordered. 如果订购了DataGrid,它也可以工作。

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM