我有一个绑定到gridview的linq查询的结果。 OnRowDataBound我正在创建一个循环遍历列并对数据进行更改的事件处理程序。
循环遍历gridview的列还是通过数据源?
答案 0 :(得分:2)
OnRowDataBound
你得到的数据是绑定的,所以你只需要关注有问题的行,而不是整个网格。
此时你应该使用gridview控件,而不是数据源,但是行的数据源在第二个传递的变量中可用,因此你可以在那里访问它(我称之为我的e
)你需要实际的源值而不是绑定的值。但是在此事件中向您显示行时,它已经获得了数据。
然而,在紧密循环中一起完成所有数据操作几乎总是更快,让抖动添加CLR团队可以提供的任何微操作,而不是尝试将其作为稀疏循环。
答案 1 :(得分:1)
我想说这取决于你。 但这里有一些细节:
如果您想应用可能减少数据量的任何条件(过滤器),在这种情况下,最好在Databind()
之前执行此操作。但是如果根据你的条件/逻辑数据量保持不变那么它就不会在你循环它的地方。它仍然是相同的循环,相同的性能。
如果要查看效果,请使用Stopwatch
中的System.Diagnostics
课程。