在c#中将dataRowview转换为dataTable

本文关键字:dataTable 转换 dataRowview 中将 | 更新日期: 2023-09-27 18:14:16

我正在尝试将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);
            }

谁能帮我解决这个问题?

在c#中将dataRowview转换为dataTable

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

 DataTable dt = rowBeingEdited.DataView.ToTable();

您可以使用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);
}

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

datagridview.DataSource.current.DataView.ToTable()

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