循环通过gridview或其数据源

时间:2011-01-14 01:42:49

标签: asp.net data-binding

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

循环遍历gridview的列还是通过数据源?

2 个答案:

答案 0 :(得分:2)

OnRowDataBound你得到的数据是绑定的,所以你只需要关注有问题的行,而不是整个网格。

此时你应该使用gridview控件,而不是数据源,但是行的数据源在第二个传递的变量中可用,因此你可以在那里访问它(我称之为我的e)你需要实际的源值而不是绑定的值。但是在此事件中向您显示行时,它已经获得了数据。

然而,在紧密循环中一起完成所有数据操作几乎总是更快,让抖动添加CLR团队可以提供的任何微操作,而不是尝试将其作为稀疏循环。

答案 1 :(得分:1)

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

如果您想应用可能减少数据量的任何条件(过滤器),在这种情况下,最好在Databind()之前执行此操作。但是如果根据你的条件/逻辑数据量保持不变那么它就不会在你循环它的地方。它仍然是相同的循环,相同的性能。 如果要查看效果,请使用Stopwatch中的System.Diagnostics课程。