【发布时间】:2018-06-22 01:27:19
【问题描述】:
我需要根据过滤器值(列)将一个表中的数据显示到 10 个网格视图。
让我们说颜色。所以粉色网格视图应该只显示颜色列中有粉色的项目。
目前我有一个 Gridview 绑定(在 ASP 中)到一个数据源。我正在更新代码隐藏中的数据源。
类似这样的:
String selectcommand = Select * from table where subject = "Pink"
sqlDatasource1.SelectCommand= (selectcommand);
mygv.Bind();
显然,重复相同的代码 10 次是一个非常糟糕的主意,每个主题一个。有没有更好的方法来做我所追求的。
主要问题是我可以在更改颜色后将相同的数据源与许多网格视图一起使用吗?
解决方案一
我将所有网格视图绑定到一个数据源,而不用担心按颜色过滤。
然后在每个gridview的gridview rowdatabound事件中添加类似这样的内容
if e.Row.RowType = DataControlRowType.DataRow Then
if e.Row.DataItem("colour") = "pink" then e.Row.visible = False
还有其他建议吗?
【问题讨论】:
-
mygv 是什么...好像肯定少了一些代码
-
mygv.是一个网格视图。这只是 sudo 代码,让您了解我想要做什么。
-
它是如此 sudo 以至于我们不知道您要做什么......
-
所有这些gridviews是在asp页面中定义的还是在代码中动态构建的?那些 sqlDatasources 也一样。
-
我已经解释了我想要做什么。 10 Gridview 控件,显示来自同一个表的数据,但根据其中一列中的值对其进行过滤。