在静态浏览器中获取列的名称
Getting the name of a column in a static browser
每当用户单击静态浏览器的可编辑单元格时,我都需要禁用 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 事件。每当用户在单元格中单击时都会触发 - 无论该字段是否已获得焦点。
每当用户单击静态浏览器的可编辑单元格时,我都需要禁用 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 事件。每当用户在单元格中单击时都会触发 - 无论该字段是否已获得焦点。