1

我有一个 gridView 可以这样获取数据:

DataTable schedulesTable = Transporter.GetDataTableFromAPI(callingURL);
gvSchedules.DataSource = schedulesTable;
gvSchedules.DataBind();

一旦这个 GridView 有数据,我想将另一个数据表附加到它。

问题是,如果我这样做:

DataTable schedulesTable = Transporter.GetDataTableFromAPI(callingURL); <-- different URL, so new table
gvSchedules.DataSource = schedulesTable;
gvSchedules.DataBind();

它只使用此表将数据重新加载到网格中。它消除了另一个。

我将如何将多个表添加到 GridView?

4

2 回答 2

1

目前您的数据可能存储在 VIEWSTATE 中。那是非常昂贵的。

因此,第一步是跟踪服务器端的表。并禁用 GridView 的视图状态。然后你可以合并新表:

DataTable schedulesTable1 = GetTableFromSessionOrFromGridView(); // whatever is practical
DataTable schedulesTable2 = Transporter.GetDataTableFromAPI(callingURL);  // new table
schedulesTable1.Merge(schedulesTable2);
gvSchedules.DataSource = schedulesTable1;
gvSchedules.DataBind();
于 2013-06-14T18:49:09.710 回答
1

Gridviews 仅显示来自 1 个表和 1 个数据集的数据。

您可以将第二个数据集附加到第一个数据集,或者您可以使用 2 个网格视图创建一个用户控件,并将每个数据集与它自己的数据表绑定。或者如果 2 个表中的数据具有这种类型的一对多关系,则具有嵌套的网格视图。

于 2013-06-14T18:53:42.680 回答