Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Listbox - Eintrag markiert lassen (https://www.delphipraxis.net/57778-listbox-eintrag-markiert-lassen.html)

Rolf Rostig 26. Nov 2005 16:24


Listbox - Eintrag markiert lassen
 
Hallo,

ich habe eine Listbox, die ich mit
Code:
ListBox1.Items.AddObject(myString, TObject(FieldByName('IDX').asInteger));
aus einer Datenbank fülle.

Jetzt wird ein Eintag markiert, danach wird die Listbox aus der DB aktualisiert(es kommen Einträge hinzu).
Wie kriege ich es hin, das immer der gleiche Eintrag markiert bleibt?

Bernhard Geyer 26. Nov 2005 16:39

Re: Listbox - Eintrag markiert lassen
 
Falle der selektierte Eintrag immer die gleiche Position hat und neue Einträge nur am Ende hinzukommen
Delphi-Quellcode:
OldIndex := ListBox1.ItemIndex;
// ListBox neue Füllen/Updaten
ListBox1.ItemIndex := OldIndex

marabu 26. Nov 2005 16:41

Re: Listbox - Eintrag markiert lassen
 
Hallo Rolf,

wenn die Einträge in deiner ListBox eindeutig sind, dann genügt es wenn du dir den Eintrag vor dem Update merkst und ihn anschließend wieder suchst:

Delphi-Quellcode:
procedure TDemoForm.UpdateButtonClick(Sender: TObject);
var
  sTemp, itemText: string;
begin
  // markiertes item merken
  with ListBox do
    if ItemIndex = -1
      then itemText := ''
      else itemText := Items[ItemIndex];

  // update hier durchführen
  with ListBox do
  begin
    sTemp := Items.CommaText;
    Items.Clear;
    Items.CommaText := sTemp;
  end;

  // item wieder markieren
  if itemText <> '' then
    with ListBox do
      ItemIndex := Items.IndexOf(ItemText);
end;
Grüße vom marabu

Rolf Rostig 26. Nov 2005 17:11

Re: Listbox - Eintrag markiert lassen
 
@marabu
Danke, so klappt´s :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz