Inhalt
Index
Support Über uns
Home

3.61 SORTLV - Listview sortieren



Listviews können abhängig von ihren Spalten sortiert werden. Dieser Vorgang kann vom Anwender mit einem Klick auf den entsprechenden Spaltenkopf erzwungen werden. Aus dem Cobolprogramm heraus kann der Inhalt einer Listview mit folgendem Call sortiert werden:


 
Format:
Call SORTLV using Listview Spalte [Typ]


Wobei das Feld Listview mit usage listview deklariert sein muß. In Spalte steht die Spaltennummer (beginnend mit 1) nach der die Sortierung vorgenommen werden soll.

Typ gibt an in welcher Richtung die Sortierung erfolgen soll. 1 = aufwärts, 2 = abwärts und 0 entgegengesetzt zur letzten Sortierung (Default).

Beispiel:

Sortierung einer Listview nach Datum

      *c32 -m lvdatum.cob;slink lvdatum
       id division.
       data division.
       working-storage section.
        01 mdial usage maindialog left 300 top 200
             height 375 width 406 font 'arial'
             title 'Listview nach Datum sortieren'.


        02 filler      usage static left 0 top 30 Height 20
                       width 405 center 
                       title 'Zum Sortieren das Datumsfeld anklicken'.
        02 lview       usage listview left 10 top 60 width 380
                       height 220 notify-header gridstyle 3
                       id 10.
          05 lview-aus.
           10 lview-pos        pic zz9 usage column
                       width 50 rightadjust title 'Pos'.
           10 lview-datum    pic x(10) usage column    
                       center width 80 title 'Datum'.
           10 lview-text     pic x(50) usage column 
                        width 250 title 'Text'.
           10 lview-sdatum     pic 9(8) usage column hide.


        02 filler usage pushbutton left 160 top 300 width 80 height 24
                       id 20 title 'Beenden'.
       01 bnr          pic 9(5).
        02 bid         pic 99.
        02 filler      pic 999.
       01 col          pic 99.
       procedure division. 
         display mdial.


      *        Listview füllen


         move '10.02.2011' to lview-datum.
         move 20110210 to lview-sdatum.
         move 1 to lview-pos.
         move 'Anmeldung' to lview-text.


         call additem using lview lview-aus.
         move '02.01.2010' to lview-datum.
         move 20100201 to lview-sdatum.
         move 'Start' to lview-text.
         move 2 to lview-pos.
         call additem using lview lview-aus.


         move '14.02.2010' to lview-datum.
         move 20100214 to lview-sdatum.
         move '3. Testlauf' to lview-text.
         move 3 to lview-pos.
         call additem using lview lview-aus.


         move '19.03.2010' to lview-datum.
         move 20100319 to lview-sdatum.
         move 4 to lview-pos.
         move 'Fehlerbericht' to lview-text.
         call additem using lview lview-aus.


         move '15.01.2011' to lview-datum.
         move 20110115 to lview-sdatum.
         move 5 to lview-pos.
         move 'Abschlußtest' to lview-text.
         call additem using lview lview-aus.


       loop.
         call waitbox using bnr mdial.
         monitor bnr.
         if bid < 0 stop run.
         evaluate bid
               when 10 perform lviewsec
               when 20 stop run.
         go to loop.


       lviewsec section.
        call checklvheader using lview col.
        monitor 'lviewsec: Column ' col.


      * Ist col = 0 wurde nicht der Header angeklickt.


        if col < 1 exit section.
        if col = 2 move 4 to col.


      * Nach Spalte sortieren: 0 alternierend, 1 aufsteigend, 2 absteigend
        call sortlv using lview col 0.



lvdatum.cob

Siehe auch:

Listview CHECKLVHEADER

Zurück zu SHOWGRAPH    Hoch zu Funktionslibrary    Weiter zu SPLIT: String aufteilen
Entwickler Portal Impressum AGB Kontakt


© 1980-2017 Acc Computertechnik GmbH All rights reserved.