web-dev-qa-db-ja.com

C#でDataRowをDataRowViewに変換する方法

DataRowをDataRowViewに変換できますか?

例えば:

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

使用する

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

上記のメソッドは、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];
        }
2
Subramani
DataRowView selecRow = dataTable.DefaultView.Cast<DataRowView>().FirstOrDefault(a => a.Row == desRow);

動作します、これは「どこ」なしで少し短いです;-)

2
omei

使用する。 DataGridが注文されている場合にも機能します。

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