Einzelnen Beitrag anzeigen

Gremlin

Registriert seit: 18. Apr 2006
Ort: Im Süden
176 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: ComboBox mit mehreren Spalten?

  Alt 30. Mai 2007, 14:23
Wenn du 30.000 Datensätze hast, dann darfst du den Initialisierungsvorgang für die Combo bzw. StringListe nicht vergessen. Ein Scrollen über einen Datensatz und ein anschliessendes Suchen in deiner 2. Datenmenge würde evtl. gleich schnell sein.

Du könntest beispielsweise über die Eigenschaft Values der Klasse TStringliste zugreifen und darüber die korr. Werte ermitteln.

  ShowMessage('Der Wert für 4711=Test: '+Liste.Values['4711']);
Ich kann nicht beurteilen, woher die Werte für die ComboBox resp. die StringListe kommen. Wenn diese aus einer anderen Tabelle wie deine erste Tabelle kommen würden und der Grid ist nur zum blättern/scrollen verwendet, dann würde sich ein Query anbieten mit einem Join von Tabelle1 zu Tabelle2 über die ID-Nummer:

Delphi-Quellcode:
[...]
  // FQuery ist beispielsweise ein im Formular angegebener Query a la FQuery : TQuery;
  // Dann könnte eine für die Initialisierung in etwa so aussehen
  with FQuery do begin
    Close;
    SQL.Clear;
    SQL.Add('Select Tabelle1.ID, Tabelle2.Personalname');
    SQL.Add('from Tabelle1');
    SQL.Add(' join Tabelle2 on (Tabelle2.ID=Tabelle1.ID)');
    // wenn es nicht notwendigerweise einen Personalnamen zum Hauptdatensatz gibt,
    // diesen 2. Teil verwenden
    // SQL.Add(' left join Tabelle2 on (Tabelle2.ID=Tabelle1.ID)');
    try
      Open;
    except
      // Eventuelles Fehlerhandling hier einbauen
    end;
  end;
Gruss Gremlin
  Mit Zitat antworten Zitat