0

我有一个场景,我想在同一页面上放置四个相同的 Gridview。(它们将位于 Ajax TabControl 的不同选项卡上。)它们显示相同的源数据,但在一个公共基础表中有四组对应的源数据。所以我想在选项卡 1 上显示第 1 组,在选项卡 2 上显示第 2 组等。这些 Gridview 包含复杂的控件,因此我更愿意为所有这些控件使用相同的数据源以避免不必要的重复。插入和更新命令完全相同。

所以理论上我可以构建 Select 命令,这样我可以基于绑定到 SQLDataSource 的 GridView 过滤数据。问题是,如果我对所有 Gridview 使用相同的 SQLDataSource,我无法找到让每个 GridView 告诉 SQLDataSource 是哪个调用它的方法。我在想这可能是不可能的,因为 SQLDataSource 在它知道绑定到它之前先绑定,但我不确定。谁能想到一种方法来做到这一点?

4

1 回答 1

0

您可以使用 SQLDataSource 的 OnSelecting 事件动态更改参数值。这可以在服务器端代码中完成。

创建一个包含当前 gridview 唯一键的属性,这会导致 SQLDataSource 从 SQL 数据库中获取数据。

在 gridview 的 DataBinding 事件上分配此属性唯一的 gridview 键。

基于此属性更改 SQLDataSource 的 OnSelecting 事件中的参数。

如果我遗漏了什么,请告诉我。

于 2012-04-13T06:45:45.347 回答