是否可以使SQLDataSource的参数仅基于绑定到它的GridView?

时间:2012-04-13 04:38:20

标签: asp.net data-binding gridview sqldatasource

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

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

1 个答案:

答案 0 :(得分:0)

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

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

在gridview的DataBinding事件上为此属性指定唯一的gridview键。

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

如果我遗失了某些内容,请告诉我。