微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在静态浏览器中获取列的名称

如何解决在静态浏览器中获取列的名称

每当用户单击静态浏览器的可编辑单元格时,我都需要禁用 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 举报,一经查实,本站将立刻删除。