Seite 1 von 1

ListIconGadget + SetGadgetItemState

Verfasst: 25.04.2014 18:16
von gnaps
Hallo Forum,

ich habe hier ein kleines Problem.

Ich habe eine Adressverwaltung, die Daten werden in eine SQLite-Datenbank geschrieben.

Die Adressen werden dann in einem ListIconGadget angezeigt und nach dem Nachnamen sortiert.
Wenn ich nun meine Adresse z.B Mustermann in 1Mustermann ändere und wieder in das ListIconGadget einlese,
ändert sich die Position von 1Mustermann.

Wie kann ich den Fokus auf diese Adresse wieder setzen?

Im ListIconGadget in der Spalte 0 habe ich die eindeutige ID aus der SQL-Datenbank.

Wie kann ich mit SetGadgetItemState(#gad_ListAnschrift,Position,#PB_ListIcon_Selected) die Position mit der Eindeutigen ID aus der Spalte 0 auswählen?

Gruß
gnaps

Re: ListIconGadget + SetGadgetItemState

Verfasst: 25.04.2014 20:18
von Kiffi
die ID kannst Du mit GetGadgetItemText() auslesen.

Eine Zeile selektiert man mit SetGadgetState()

Grüße ... Kiffi

Re: ListIconGadget + SetGadgetItemState

Verfasst: 25.04.2014 21:04
von gnaps
Hallo Kiffi,
die ID kannst Du mit GetGadgetItemText() auslesen.
das ist mir klar und habe ich auch gemacht.
Die Adresse von Mustermann oder nach der Änderung auf 1Mustermann hat immer 131 (Feste ID).

Mit SetGadgetState() kann ich aber nicht im ListIconGadget den Eintrag makieren der in der Spalte 0 den Wert 131 hat.

Oder sehe ich das falsch ?

Gruß
gnaps

Re: ListIconGadget + SetGadgetItemState

Verfasst: 25.04.2014 21:23
von ts-soft

Code: Alles auswählen

Procedure SetStateWhereIs(ID, text.s, column = 0)
  Protected i

  For i = 0 To CountGadgetItems(ID) -1
    If GetGadgetItemText(id, i, column) = text
      SetActiveGadget(id)
      SetGadgetState(ID, i)
      Break
    EndIf
  Next
EndProcedure