将 DataSource gridview + datatable 绑定到 gridview

我使用 asp.net 并在 aspx 页面中有 gridview 控件。这个gridview 没有为空。

我在页面中有表名,并希望将表绑定到 gridview。所以:

gvName.DataSource =  dtName;
gvName.DataBind();

但是使用此代码,在 gridview 中丢失了以前的数据。我将 gvName.DataSource + dtName 绑定到 gvName

stack overflow bind DataSource gridview + datatable to gridview
原文答案

答案:

作者头像

您需要合并两个数据表(原始数据表和新数据表)上的行,然后重新绑定包含所有行的新数据表。

在伪代码中:

DataTable t = GetInitialDataSource();
foreach(var item in newDataTable.Rows)
{
    t.ImportRow(item); 
}

gv.DataSource=t;
gv.DataBind();
作者头像

试试这个代码。 DataTable.Merge cab 用于合并数据表。

    dtName.Merge((DataTable)gvName.DataSource);
    gvName.DataSource = dtName;
    gvName.DataBind();