如何判断筛选后集合中记录的网格可见性并修改UpdateIf逻辑?
解决方案
核心问题说明
你之前尝试的Filter(MyCollection, Visible = true)无效,是因为**Visible是网格中控件的属性,而非集合里记录本身的字段**,没法用它来筛选记录。
修改后的代码
要只更新网格当前显示的记录,直接用网格控件的AllItems属性获取可见记录集合,通过匹配记录唯一标识(比如ID)限定更新范围:
UpdateIf( Nominations, ID in NominationsGallery.AllItems.ID, // 替换NominationsGallery为你的网格控件实际名称 { Status: {Value: "Approved"}, 'Approved By': varUser } );
补充说明
- 如果你的网格绑定的是自定义筛选后的集合(比如
FilteredNominations),可以直接用这个集合代替控件的AllItems,代码更简洁:UpdateIf( Nominations, ID in FilteredNominations.ID, { Status: {Value: "Approved"}, 'Approved By': varUser } ); - 确保
ID是Nominations数据源和网格集合中都存在的唯一标识字段,若你的数据源用其他唯一键(比如RecordID),替换成对应的字段名即可。
内容的提问来源于stack exchange,提问作者Chris2015
相关产品推荐
相关产品推荐

