DataGrid filtern?

Startseite Foren Deutsches LiveCode-Forum DataGrid filtern?

Dieses Thema enthält 5 Antworten und 2 Teilnehmer. Es wurde zuletzt aktualisiert von  Klaus Major vor 2 Wochen, 1 Tag.

  • Autor
    Beiträge
  • #13337

    jo.keller
    Teilnehmer

    Hallo,

    nach einigen (vielen ;)) Recherchen kann ich XML-Dateien in das Datagrid einlesen. Was ich noch nicht verstanden habe, wie die Daten gefiltert werden können:

    Beispiel:
    ID Name Adr Tel
    1 ABC Testadr1 123
    1 DEF Testadr2 456
    2 GHI Testadr3 789
    3 JKL Testadr4 012

    Ich würde gerne nur die Daten mit der ID "1" anzeigen lassen.

    Das Datagrid selbst habe ich mit
    set the dgData of group "DataGrid1" to myArray
    eingelesen.

    War das verständlich?

    Gruß und Danke
    Joachim

  • #13339

    Klaus Major
    Moderator

    Hi Joachim,

    es sieht so aus, als ob Du ein Datagrid vom Typ TABLE benutzt, korrekt?

    In dem Fall kannst du mit -> the dgtext of grp "dein datagrid hier"
    arbeiten, was nichts Anderes als simpler TAB und CR getrennter Text ist!

    Ich würde es so machen:

    ...
    ## Wonach soll gefilter werden, kann dann später durch einen Parameter ersetzt werden:
    put 1 into tID
    
    ## Inhalt in Variable einlesen:
    put the dgtext of grp "datagrid" into tText
    
    ## Nun diesen Text "FILTER"n:
    filter tText with (tID & TAB & "*")
    
    ## Es bleiben übrig alle Zeilen, die mit einer 1, bzw. der als Parameter 
    ## mitgelieferten Zahl in der ersten Spalte (daher der TAB!) 
    ## beginnen, egal was dahinter kommt.
    
    ## Gefilterte Daten wieder anzeigen:
    set the dgtext of grp "datagrid" to tText
    ...

    Gruß

    Klaus

  • #13359

    jo.keller
    Teilnehmer

    Hallo Klaus,
    danke für die schnelle Hilfe, es funktioniert.

    Ja, das DG ist (momentan noch) eine Tabelle. Sobald ich weiss wie es funktioniert, hätte ich gerne die Daten als Block. Würde sich dadurch Filtern dann ändern?

    Bin aber erst am Anfang des Lernens/Programmierens mit LiveCode. Es hat mich aber motiviert, dass das mit den XML-Dateien funktioniert hat.

    Der Block (ist das ein "Row-Template" ist??):

    ------------
    Name Tel
    Adr
    ------------
    Name Tel
    Adr
    ------------
    ...

    Danke nochmals!

    und noch einen schönen Abend
    Joachim

  • #13361

    Klaus Major
    Moderator

    Hi Joachim

    Der Block (ist das ein "Row-Template" ist??):

    das kann ich Dir eventuell beantworten, wenn Du mir verrätst, was Du unter
    "Block" verstehst, das ist kein LC Begriff. 🙂

    Und ja, bei FORM Datagrids klappt es mit -> the dgtext nicht.
    Wir müssen dann einen Loop durch das Array -> the dgData of grp "datagrid"
    veranstalten.

    Gruß

    Klaus

  • #13371

    jo.keller
    Teilnehmer

    Hallo Klaus,

    mit "Block" meinte ich die o.a. Ansicht, d.h. nicht als Tabelle sondern als z.B. zweizeilige Ansicht der Daten. Ich denke, es geht um ein "FORM" des Datagrids :).

    Danke für die Hilfe, ich probiere es aus.

    Gruß
    Joachim

  • #13373

    Klaus Major
    Moderator

    AHA! 😀

    OK, wie uach immer Du das Ding nennst, ja, das ist dann die
    "Template" für das FORM Datagrid.

Du musst angemeldet sein, um auf dieses Thema antworten zu können.