2017-05-30 3 views
0

Ich habe ein Raster mit Bildschirmeinstellungen wie folgt aus:klickbare Gitter anstelle von editierbaren

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. 

Wenn das Netz läuft, wird es mit den Säulen usw. geladen, aber wenn ich auf/doppelklicken Sie darauf, in eine kommt Editor-Modus. Ich möchte, dass das Gitter mit Doppelklick funktioniert, um stattdessen eine Linie zu öffnen.

Jeder hat eine Idee, was ich tun kann, um das zu tun? Lassen Sie mich wissen, wenn Sie mehr Code benötigen, um es besser zu sehen.

+2

Sie etwas klickbare in COBOL gemacht? das ist eigentlich interessant. Welche Software benutzt das, um das zu erreichen? wer jemals die Antwort weiß, wird wahrscheinlich wissen müssen, dass – SaggingRufus

+0

@SaggingRufus Es ist ACUCOBOL-GT. –

+0

Microfocus hat große Unterstützung von dem, was ich gehört habe, sie zu kontaktieren. – SaggingRufus

Antwort

0

Sie suchen nach der ENTRY-REASON spezielle Eigenschaft auf GRID Elemente.

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

ENTRY-GRUND (alphanumerisch)

diese Eigenschaft der Aktion des Benutzers aufzeichnet, die das Gitter verursachte zum Eingabemodus zu verschieben. Es wird gesetzt, unmittelbar bevor das MSG-BEGIN-ENTRY-Ereignis generiert wird, und es wird beibehalten, bis es durch ein anderes MSG-BEGIN-ENTRY-Ereignis überschrieben wird oder bis das Grid zerstört wird.

Die Codierung ist ein einzelner PIC X Charakter wie folgt:

x "00"
AX "00" (binär 0, ASCII null) Wert zeigt, dass der Benutzer doppelgeklickt auf der Zell

x „0D“
AX „0D“ (binär 13, ASCII Wagenrücklauf) Wert zeigt, dass der Benutzer den Schlüssel Andernfalls jeden anderen Wert gedrückt ist der Schlüssel, der Benutzer pr essed. Für Beispiel, wenn der Benutzer begann, "John" einzugeben, wird der Buchstabe "J" von ENTRY-REASON zurückgegeben.

ENTRY-REASON kann nur angefragt werden. Die Einstellung hat keine Wirkung. Sie können nach ENTRY-REASON während eines MSG-BEGIN-ENTRY-Ereignisses fragen, um festzustellen, , was verursacht, dass der aktuelle Eintrag zu starten. Beachten Sie, dass Sie dann die Eingabe verbieten können, indem Sie EVENT-ACTION-FAIL auf EVENT-ACTION verschieben und von der Ereignisprozedur zurückkehren.

Da und Ihre gegebenen Code, könnte Ihr KUN-LISTE-SAVE Absatz haben

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.