You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

咨询:Grid选中行时触发PeopleCode及选择复选框字段问题

嘿,针对你问的两个Grid选中行相关的PeopleCode问题,我来给你捋捋:

1. 如何在Grid中选中行时触发PeopleCode?

最常用也最直接的方式就是利用Grid的RowSelect事件——这个事件专门用来响应行选中/取消选中的操作。

具体操作步骤是:

  • 打开对应的页面编辑器,找到目标Grid控件
  • 右键点击Grid,选择「View PeopleCode」,在事件下拉列表里选中「RowSelect」
  • 在这个事件里编写你的业务逻辑就行。比如你可以直接获取当前选中的行,做一些数据校验或者联动操作:
// 获取当前选中的行
Local Row &selectedRow = GetRow();
// 示例:弹出选中行的行号提示
MessageBox(0, "行选中提示", 0, 0, "你选中了第 " | &selectedRow.RowNumber | " 行");

另外,如果是通过多行复选框来选中行,除了RowSelect事件,你也可以结合后面第二个问题里提到的自定义字段,在字段的FieldChange事件里写触发逻辑,不过RowSelect事件是更通用的方案。

2. 通过Grid属性「行选择指示器-多行(复选框)」添加的选择复选框,是否存在对应的字段?

默认情况下,这个复选框没有对应的数据库字段——它是PeopleSoft在UI层面自动生成的控件,只是用来可视化管理行的选中状态,后台是通过Grid行对象的Selected属性来控制(就像你给出的&rsGrid.getRow(&i).selected = True;这段代码)。

但如果你需要把选中状态和业务数据绑定,或者要在提交页面时保存选中状态,你可以手动配置:

  1. 在Grid对应的记录里新增一个Yes/No类型的字段(比如叫SELECT_FLG)
  2. 在Grid里把这个字段添加进去,设置为复选框样式
  3. 通过PeopleCode同步行的选中状态和字段值,比如在RowSelect事件里:
// 把行的选中状态同步到自定义字段
GetRow().RECORD_NAME.SELECT_FLG.Value = GetRow().Selected;

或者在自定义字段的FieldChange事件里同步行的选中状态:

// 当复选框被点击时,同步行的选中状态
GetRow().Selected = RECORD_NAME.SELECT_FLG.Value;

内容的提问来源于stack exchange,提问作者kh.tab

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.14 09:03:10