Power Apps:统计galTick画廊中禁用状态chkVal复选框的数量
解决Power Apps中统计画廊内禁用复选框数量的问题
问题原因
你之前的代码报错,是因为galTick.AllItems返回的是画廊绑定的数据源记录集合,而非画廊中控件的实例对象,因此无法直接通过chkVal.DisplayMode访问控件的属性。
解决方案
根据复选框禁用状态的判断逻辑,分两种场景处理:
场景1:禁用状态绑定数据源字段
如果chkVal的DisplayMode直接绑定到数据源的某个布尔字段(比如IsDisabled),直接过滤数据源记录即可:
UpdateContext({disabledCount: CountRows(Filter(galTick.AllItems, IsDisabled = true))})
之后将文本标签lblDis的Text属性设置为disabledCount。
场景2:禁用状态基于动态逻辑
如果禁用状态是通过公式计算的(例如If(ThisItem.Stock <= 0, DisplayMode.Disabled, DisplayMode.Edit)),直接复用该判断逻辑来统计:
UpdateContext({disabledCount: CountRows(Filter(galTick.AllItems, Stock <= 0))})
同样将lblDis的Text属性设为disabledCount。
备选方案(复杂逻辑场景)
若禁用逻辑过于复杂,可先给复选框添加Tag属性存储状态:
- 给
chkVal的Tag属性设置为:If(Self.DisplayMode = DisplayMode.Disabled, true, false) - 在屏幕
OnVisible中执行:
ClearCollect(colDisabledCount, galTick.AllItems); UpdateContext({disabledCount: CountRows(Filter(colDisabledCount, chkVal.Tag = true))})
注:此方法需注意画廊滚动后可能需要重新刷新数据,优先推荐前两种方案。
内容的提问来源于stack exchange,提问作者Todd
相关产品推荐
相关产品推荐

