理想情况下,我想在GridView呈现之前运行一些代码,尽管我可能会在RowCreated或RowDataBound事件中执行。
我的问题是我使用中继器创建多个GridView。我想要运行的代码需要使用一个Dictionary,该Dictionary是为构建的每个特定网格视图定制的。所以,我想传递一个自定义参数给我使用的任何事件。
然而,我必须在单个(模板化的)GridView的标记/结构本身(OnRowDataBound="”)中定义事件。
那么,我如何告诉代码调用该事件,但传递一个额外的参数?
谢谢!
1条答案
按热度按时间bihw5rsg1#
通常的方法是针对每个中继器“行”,然后您可以处理ONE GridView。
在大多数情况下,该事件将是中继器行数据绑定事件。
例如,我有一个中继器,它将重复一个引用列表。
对于每一个中继器,我然后想要一个每个城市的酒店的网格视图。
所以,
所以,说这个标记:
因此,在上面,用户可以输入1个或10个城市。
因此,我们要为用户输入的每个城市“重复”GridView。
我们后面的代码是这样的:
我们要把城市规划好,把城市规划好,把城市规划好。
我们得到这个:
现在我们一次处理一个网格。我们使用中继器的Item Data Bound事件。
所以,你没有提到你想要传递给每个GridView的“什么”。或者,您可能需要处理GridView的每一行。
然而,在一天结束的时候,你处理“任何”是你想要的关于一个GridView。它是一个GridView没有中继器,还是10个GridView内部的中继器?
这个“问题”和“解决方案”没有任何变化。
现在,假设对于每个GridView,如果酒店处于活动状态,我们希望突出显示该行。好吧,这是一个100%独立的问题,因为不管你处理的是1个GridView还是20个。
方法是相同的,对于典型的GridView格式,您可以再次使用GridView数据行绑定事件。因此,实际上,就像我们为repeater使用行数据绑定事件一样,我们可以为每个GridView执行相同的操作,并且我们可以为GridView的每行执行任何我们想要的操作。
因此,绑定GridView的中继器代码可以说包括我为活动酒店设置的活动列。
所以,然后这个:
(我在上面添加了Active列)。
所以,现在在我们的GridView行数据绑定事件中,我可以这样做:
因此,我们将行数据绑定事件添加到GV,如下所示:
现在假设让我们突出显示基于Active = true/false的行。
这是:
您注意到,与需要测试“交替”行的中继器不同,gridview不需要这样的测试。
所以,现在我们看到了这一点(网格视图中Active = true的任何行都会获得颜色设置)。
所以,是的,只需设置一个标准的GridView行数据绑定事件,实际上这对于一个GV的工作方式将对于其中的10个GV。
实际上,你的第二个问题真的不需要中继器,但只需要处理一个GridView,以及你想要驱动那个GridView的数据,然后当然,你想要为GridView的每一行做什么,你一次处理一个事情。