如何解决在静态浏览器中获取列的名称
每当用户单击静态浏览器的可编辑单元格时,我都需要禁用 2 个按钮。这需要发生在 4 列中(还有其他不可编辑的列)。为此,我需要获取列名。我尝试将代码放在浏览器的 ROW-ENTRY 触发器中,这很有效,除了我第一次单击可编辑单元格时,当我收到 10068 错误(链接属性表达式中的加载属性(a:b: c) 必须是类型句柄或用户定义的类型并且有效 9not UNKNowN)。我尝试使用句柄而不是浏览器名称,但没有任何区别。在第一次之后,代码可以工作,我可以毫无错误地获取列的名称。
ROW-ENTRY 触发器内部的代码如下:
IF br-people:CURRENT-COLUMN:LABEL = "Name" OR
br-people:CURRENT-COLUMN:LABEL = "Surname" OR
br-people:CURRENT-COLUMN:LABEL = "Age" OR
br-people:CURRENT-COLUMN:LABEL = "Gender" THEN DO:
bUp:SENSITIVE = FALSE.
bDown:SENSITIVE = FALSE.
END.
我使用的是 OpenEdge 11.4。任何见解将不胜感激。
解决方法
不幸的是,我没有安装它进行测试,但尝试在其他条件之前测试 VALID-HANDLE(br-people:CURRENT-COLUMN)。如果我没记错的话,这会触发多次,其中一个可能没有填满。
,您还可以使用浏览单元格的 ENTRY 事件:
ON ENTRY OF <table>.<field1> BROWSE <browse-name>
OR ENTRY OF <table>.<field2> BROWSE <browse-name>
OR ENTRY OF <table>.<field3> BROWSE <browse-name>
OR ENTRY OF <table>.<field4> BROWSE <browse-name>
DO:
END.
根据您的要求(您提到“点击”),您还可以使用 MOUSE-SELECT-CLICK 事件。每当用户点击单元格时都会触发 - 无论该字段是否已经具有焦点。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。