Startseite › Foren › Deutsches LiveCode-Forum › Sortieren von "highlited lines" eines Datagrids
Schlagwörter: datagrid suche
- Dieses Thema hat 1 Antwort und 2 Teilnehmer, und wurde zuletzt aktualisiert vor 6 Jahren, 10 Monaten von
Klaus Major.
-
AutorBeiträge
-
-
Februar 1, 2019 um 08:44 Uhr #10268
Hi,
ich habe heute morgen eine Funktion gesucht, mit der man in Datagrids suchen kann und dieses toole Script gefunden:
http://forums.livecode.com/viewtopic.php?t=20436#p109071
Man postet dieses command in den Skript des Datagrids:
command searchMe tString local tIndexList, tRecord, tHLIndexes put the dgIndexes of me into tIndexList repeat for each item tIndex in tIndexList put getDataOfIndex(tIndex) into tRecord repeat for each element tElement in tRecord if tElement contains tString then put tIndex & comma after tHLIndexes exit repeat end if end repeat end repeat delete the last char of tHLIndexes set the dgHilitedIndexes of me to tHLIndexes end searchMeund kann die Suchfunktion dann z.B. über einen eigenen Button aufrufen:
on mouseUp local tSearchString ask "Search Term?" if it is not empty then put it into tSearchString dispatch "searchMe" to group "DataGrid1" with tSearchString end mouseUpErgebnis ist, dass die Zeilen in denen das Suchwort auftaucht, gehighlited werden. Bei einer großen Tabelle sind diese aber ziemlich weit verstreut.
Frage: gibt es eine Möglichkeit, dem Datagrid zu sagen, dass es die gehighliteten Zeilen nach oben sortiert?
Beste Grüße
Torsten -
Februar 1, 2019 um 12:24 Uhr #10270
Hi Torsten,
Frage: gibt es eine Möglichkeit, dem Datagrid zu sagen, dass es die gehighliteten Zeilen nach oben sortiert?
ja, einfach ein entsprechendes Skript ausführen! 😀
Wenn es sich um ein Datagrid vom Typ TABLE handelt, kannst Du so etwas machen:
... ## Das mit dem zusätzlichen Hilite überlasse ich Dir, ## sollte aber klar sein, oder! put the dgtext of group "xyz" into tText repeat for each line tLine in tText if offset(tSearchString,tLine) <> 0 then put tLine & CR after tZielenOben else put tLine & CR after tZeilenUnten end if delete char -1 of tZeilenOben delete char -1 of tZeilenUnten set the dgtext of grp "xyz" to tZeilenOben & CR & tZeilenUnten ..Logisch, wa? 😀
Gruß
Klaus
-
-
AutorBeiträge
- Du musst angemeldet sein, um auf dieses Thema antworten zu können.
