2011-01-14 93 views
0

我有一个绑定到gridview的linq查询的结果。 OnRowDataBound我创建了一个循环遍历列并对数据进行更改的事件处理程序。通过gridview或其数据源循环

循环访问gridview的列还是通过数据源更好?

回答

1

我会说这取决于你。 但是这里有一些细节

如果你想应用任何可能减少数据量的条件(过滤器),在这种情况下最好在Databind()之前做。但是,如果根据您的条件/逻辑数据保持不变,则它并不适合循环使用。它仍然是相同的循环,相同的性能。 如果您想检查性能使用类StopwatchSystem.Diagnostics

2

OnRowDataBound您在绑定数据时会获取数据,因此您只需要关注有问题的行,而不是整个网格。

您应该在此时使用gridview控件,而不是数据源,但该行的数据源在第二个传递的变量中可用,以便您可以在那里访问它(我称之为我的e),如果需要实际的源值而不是什么限制。但是在这个事件中这个行被呈现给你时,它已经获得了这些数据。

但是,在紧密的循环中将所有数据操作一起进行并让抖动添加CLR团队可以提供的任何微操作,而不是试图将其作为稀疏循环来做,这几乎总是会更快。