![]() |
tlist - itemindex selber setzten
Hi Leute:
habe einen array von dem ich manche elemente (also nicht alle) in eine liste setzte, wenn sie entsprechenden kriterien entsprechen. nun möchte ich aber, dass sie dort den selben index haben wie im array, sprich, wenn ein arrayelement nicht dem listenkriterium entsprich , soll auch dieser listindex in der liste ausgelassen werden ich möchte also quasi bei list1.additem den index nicht hochzählen lassen, sondern selber setzten |
Re: tlist - itemindex selber setzten
das wird nicht gehen, es sei denn du fügst leere items zur liste.
ich würde dir empfehlen einfach (via records z.b.) den ItemIndex der ersten Liste mit zu speichern um später darauf zuzugreifen. |
Re: tlist - itemindex selber setzten
hmmm, einde codebeispiel vielleicht ?
|
Re: tlist - itemindex selber setzten
da ich deine routinen nicht kenne, kann ich dazu schlecht ein beispiel machen. außerdem wüsste ich nicht zu welcher methode?
theoretisch:
Delphi-Quellcode:
Sobald du nun ein Item in deine vorherige Liste geaddet hast, erhöhst du hier die Array Größe und übergibst die Infos an das Record.
TDatenInfo = record
Data: String; // oder was auch immer ID: Integer; // dein alter itemindex end; TDatenInfoArray = Array of TDatenInfo; Am besten wäre es du verwendest SetLength nur einmalig vor dem adden aller items (da es sonst recht lange dauern kann). |
Re: tlist - itemindex selber setzten
hmm also quasi sowas wie nen zuordnungsarray ?
setlength(integerarray,maxneuerindex); integerarray[alterindex] := neuerindex; wäre ja das gleiche oder ? |
Re: tlist - itemindex selber setzten
Zitat:
Zitat:
--- nochmal eine frage: was für daten willst du speichern/anzeigen? sind es strings? könntest du nicht auf die liste verzichten, indem du den Items bspw. eine Eigenschaft á la fVisible: Boolean verpasst und sie dann einfach beim anzeigen in der (nehme mal an:) ListView übergehst? |
Re: tlist - itemindex selber setzten
Ich denke, dass es mit einer TList klappen könnte:
Anfangs per "MyList.Count := Length(MyArray)" die Anzahl der Listenelemente setzen (die dann alle leer sind!) Die einzelnen Items dann per "MyList.Insert()" einfügen. Hier kannst du die Einfügeposition selbst angeben! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:01 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz