如何在UltraGrid中仅对筛选后的行执行循环操作?
如何仅遍历UltraGrid中筛选后的行
嘿,这个问题我熟!UltraGrid默认的Rows集合会包含所有数据行——不管有没有被筛选隐藏,所以你之前的循环会跑遍全部1000行。要只处理筛选后的可见行,用UltraGrid内置的方法就可以轻松实现,效率还更高:
方法1:仅遍历筛选后的非分组行
如果你的网格没有启用分组,或者只需要处理数据行(排除分组标题行),用GetFilteredInNonGroupByRows()方法:
foreach (UltraGridRow row in grdMerchandiserToBuyer.Rows.GetFilteredInNonGroupByRows()) { // 在这里执行你的筛选后行的逻辑操作 }
方法2:遍历所有筛选后的行(包含分组行)
如果你的网格有分组,并且需要包含分组标题行一起处理,就用GetFilteredInRows()方法:
foreach (UltraGridRow row in grdMerchandiserToBuyer.Rows.GetFilteredInRows()) { // 处理逻辑 }
这两个方法都是Infragistics为UltraGrid专门设计的,会直接返回符合筛选条件、当前显示在界面上的行,不用你自己去判断每行的筛选状态,对于大数量级的数据集(比如你的1000行)来说,比遍历所有行再判断要高效得多。
内容的提问来源于stack exchange,提问作者Farabi Shohan
相关产品推荐
相关产品推荐

