可点击的网格而不是可编辑的

Clickable grid instead of editable

我有一个屏幕设置如下的网格:

02 SCR-KUN-LST-1.
    03 SCR-KUN-LISTE GRID PAGED SIZE 145 LINES 21 3-D
        LINE 1 COL 1,25 FONT SMALL-FONT
        RECORD-DATA        = KUN-LISTE-LINJE
        DATA-COLUMNS    = (1 11 12 62 112 142 157 172 187 237 252)
        DISPLAY-COLUMNS = (1 10 12 40 65 86 99 112 125 135)
        ALIGNMENT = ("L","C","L","L","L","L","L","L","L","L")
        ROW-DIVIDERS       = (1,1)
        COLUMN-DIVIDERS    = (1,1)
        DIVIDER-COLOR      = 32 
        CURSOR-COLOR       = 80
        HEADING-MENU-POPUP 63
        HEADING-COLOR      = 256
        CURSOR-FRAME-WIDTH = -1
        NUM-ROWS           = 0
        VPADDING           = 50
        VIRTUAL-WIDTH      = 155
        VSCROLL ADJUSTABLE-COLUMNS USE-TAB 
        BOXED BORDER-COLOR BLACK
        REORDERING-COLUMNS SORTABLE-COLUMNS
        COLUMN-HEADINGS CENTERED-HEADINGS TILED-HEADINGS
        POP-UP MENU KUN-MENU     
        ID IS 209 BEFORE PROCEDURE IS VIS-KOMMENTAR 
        EVENT PROCEDURE KUN-LISTE-SAVE
        EXCEPTION PROCEDURE KUN-LISTE-EVENTS.

当 运行 网格时,它加载了列等,但是当我 click/double 单击它时,它进入编辑器模式。我希望网格将双击处理为打开一条线的功能。

有人知道我可以做什么吗?如果您需要更多代码以便更好地查看,请告诉我。

您正在寻找 GRID 元素上的 ENTRY-REASON 特殊 属性。

https://supportline.microfocus.com/documentation/acucorpproducts/docs/v6_online_doc/gtman2/gt2546.htm

ENTRY-REASON (alphanumeric)

This property records the user's action that caused the grid to shift to entry mode. It is set immediately before the MSG-BEGIN-ENTRY event is generated, and it is retained until overwritten by another MSG-BEGIN-ENTRY event or until the grid is destroyed.

The encoding is a single PIC X character as follows:

x"00"
A X"00" (binary 0, ASCII null) value indicates that the user double-clicked on the cell

x"0D"
A X"0D" (binary 13, ASCII carriage-return) value indicates that the user pressed the key Otherwise Any other value is the key that the user pressed. For example, if the user started typing "John," then the letter "J" is returned by ENTRY-REASON.

ENTRY-REASON can be only inquired. Setting it has no effect. You may inquire on ENTRY-REASON during a MSG-BEGIN-ENTRY event to determine what caused the current entry to start. Note that you can then prohibit entry if you desire by moving EVENT-ACTION-FAIL to EVENT-ACTION and returning from the event procedure.

鉴于此以及您给定的代码,您的 KUN-LISTE-SAVE 段落可能

KUN-LISTE-SAVE.
    EVALUATE EVENT-TYPE
       WHEN MSG-BEGIN-ENTRY
          INQUIRE SCR-KUN-LISTE ENTRY-REASON = YOUR-ENTRY-REASON
          IF YOUR-ENTRY-REASON = X"00"
            PERFORM YOUR-ON-DBL-CLICK
          END-IF
    END-EVALUATE.