Как преобразовать DataRow в DataRowView в С#

Можно или как преобразовать DataRow в DataRowView?

Например:

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

Ответ 1

Использование

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

Ответ 2

Вышеуказанный метод не работает, если статус DataRow отключен. Этот фрагмент кода можно использовать в таком случае:

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

        for (int i = 0; i < dRow.ItemArray.Length; i++)
        {
            dRowView.Row[i] = dRow[i];
        }

Ответ 3

Использовать. Он также работает, если DataGrid упорядочен.

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