在c#中将dataRowview转换为dataTable

时间:2015-09-23 13:34:21

标签: c# datatable

我正在尝试将dataRowview转换为Datatable:

private void Cell_Edit_End(object sender, DataGridCellEditEndingEventArgs e)
    {
        DataRowView rowView = e.Row.Item as DataRowView;
        rowBeingEdited = rowView;
    }
DataTable dt = new DataTable();
foreach (DataRow row in rowBeingEdited.Row.GetChildRows) {
                dt.ImportRow(row);
            }

任何人都可以帮我解决。

3 个答案:

答案 0 :(得分:1)

我们可以直接将dataRowview转换为Datatable:

 DataTable dt = rowBeingEdited.DataView.ToTable();

答案 1 :(得分:0)

您可以使用DataRow.Table.Clone()获取包含相同列的空表:

DataRow[] childRows = rowBeingEdited.Row.GetChildRows("RelationName");
if (childRows.Length > 0)
{
    DataTable tblChildren = childRows[0].Table.Clone();
    foreach (DataRow row in childRows)
        tblChildren.ImportRow(row);
}

答案 2 :(得分:-1)

如果有过滤器,这是正确答案

datagridview.DataSource.current.DataView.ToTable()

我尝试了所有其他解决方案,这不是很好或者需要很长时间