Announcement

Collapse
No announcement yet.

Wie kann ich einen Eintrag in einem dbGrid auslesen?

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Wie kann ich einen Eintrag in einem dbGrid auslesen?

    HI!

    Ich habe ein dbGrid mit einer Spalte und ich möchte den Datensatz den der Anwender anklickt, einer anderen Tabelle zuweisen.

    (also die Zeilennummer in ein Feld der anderen Tabelle schreiben)

    Wer kann mir helfen??

    SABINE :_)

  • #2
    Hallo,

    die <b>TDBGrid</b>-Komponente ist nur der "Visualisierer" einer dahinterliegenden Datenmenge. Delphi stellt diesen Zusammenhang über die Verbindung TTable/TQuery -> TDataSource -> TDBGrid auch anschaulich dar. Wenn man einen Spaltenwert für den gerade aktuell ausgewählten Datensatz benötigt, kann man daher direkt die Feldwerte der verwendeten TTable- oder TQuery-Instanz abfragen.

    Der folgende Auszug stammt aus dem Delphi-Beispielprogramm <i>MastApp</i> (Unit <i>EDOrders</i>). Über den <b>Feld-Edtitor</b> werden persistente TField-Instanzen angelegt, so dass im Programm über <i>MastData.OrdersSaleDate.Value</i> der in der Tabellenspalte gespeicherte Datumswert ausgelesen werden kann. Auf dem gleichen Weg wird dann das vom Anwender neu ausgewählte Datum wieder der Tabellenspalte zugwiesen:
    <pre>
    procedure TEdOrderForm.PickDate(Sender: TObject);
    begin
    BrDateForm.Date := MastData.OrdersSaleDate.Value;
    if BrDateForm.ShowModal = mrOk then
    begin
    MastData.Orders.Edit;
    MastData.OrdersSaleDate.Value := BrDateForm.Date;
    SaleDateEdit.SelectAll;
    end;
    end;
    </pre>
    Man sieht, das der Zugriff auf die "visuelle Komponente" TDBGrid nicht notwendig ist, da letztendlich die Datenmenge (TTable/TQuery) die gesuchte Information speichert

    Comment

    Working...
    X