如何在Progress 4GL中获取可更新动态Browse组件所有行的Row ID?
使用Buffer Handle 获取动态Browse所有行的Row ID
当然可以通过buffer handle获取可更新动态Browse组件所有行的Row ID,具体实现步骤和代码示例如下:
获取动态Browse对应的buffer handle
通过browse-handle:buffer-handle即可获取绑定到目标Browse的buffer句柄。遍历所有行并提取Row ID
先将Browse定位到第一行,之后循环遍历每一行,用ROWID(buffer-handle)获取当前行的Row ID,直到遍历结束。
示例代码:
DEFINE VARIABLE hBrowse AS HANDLE NO-UNDO. DEFINE VARIABLE hBuffer AS HANDLE NO-UNDO. DEFINE VARIABLE cRowID AS CHARACTER NO-UNDO. // 假设hBrowse是你的动态Browse句柄 hBuffer = hBrowse:BUFFER-HANDLE. // 定位到Browse第一行 hBrowse:FIRST-ROW(). DO WHILE hBrowse:QUERY-OFF-END = FALSE: // 获取当前行Row ID并转为字符串 cRowID = STRING(ROWID(hBuffer)). DISPLAY cRowID. // 移动到下一行 hBrowse:NEXT-ROW(). END.
- 注意事项
- 确保Browse绑定的buffer是可更新状态,否则可能无法正确获取Row ID。
- 若Browse基于多表连接,需明确指定要获取Row ID的目标buffer,避免歧义。
内容的提问来源于stack exchange,提问作者Abhinit Kumar Das
相关产品推荐
相关产品推荐

