DataGrid filtern?

Startseite Foren Deutsches LiveCode-Forum DataGrid filtern?

Ansicht von 5 Antwort-Themen
  • 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
        Administrator

          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
            Administrator

              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
                Administrator

                  AHA! 😀

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

              Ansicht von 5 Antwort-Themen
              • Du musst angemeldet sein, um auf dieses Thema antworten zu können.