ListView Items pushen?
-
wie kann ich die items einer listview die das imageindex 23 haben, nach oben (top) pushen?
-
also das mit dem "ist index == 23" und so, regle ich dann schon. aber allgemein: wie haut man ein item nach oben(top) ?
-
Ev. so:
int Moved=0; for (i=ListView->Items->Count-1;i>=0;i--) { if (ListView->Items->Item[i]->ImageIndex==23) { ListItem=ShowList->Items->Insert(0); ListItem->Caption=ShowList->Items->Item[i+1]->Caption; for (int j=0;j<ShowList->Items->Item[i+1]->SubItems->Count;j++) { ListItem->SubItems->Add(ShowList->Items->Item[i+1]->SubItems->Strings[j]); } ShowList->Items->Item[i+1]->Delete(); Moved++; } if (i<=Moved) break; }
-
naja danke aber gibts da nicht eine "feinere" lösung?
-
ListView1->Items->Insert(0)->Assign(ListView1->Items->Item[ItemIndex + 1]); ListView1->Items->Delete(ItemIndex + 1);
Ist allerdings auch nicht gerade "fein".
-
Original erstellt von <Freddy>:
naja danke aber gibts da nicht eine "feinere" lösung?Gibt's:
TListView->ItemMove(int OldIndex, int NewIndex);//verschiebt Item mit OldIndex nach Stelle NewIndex!
Problem: Das< gibt's nicht!
Lösung:Du machst ne neue Kompo von TListView (Name = TMyListView)
mach 'ne public Funktion ItemMove
Pack da Jansens Code reinBenutze die neue Klasse / Komponente
Voila, als waer's schon immer so einfach! Und ist eleganter!