Autor Beitrag
[TP]Hawk274
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 34



BeitragVerfasst: Do 05.12.02 22:08 
Ich habe ein DBGrid und als DataSource habe ich eine ADOTable Komponente. Ähndelt der BDE Table. Jedenfalls habe ich die Optionen MultiSelect und RowSelect aktiviert. Wie weiß ich jetzt welche Zeile im Grid markiert ist.
Folgendes möchte ich machen:
Der Anwender wählt entweder ein oder zwei Zeilen aus und drückt dann einen Button. Nachdem der Button gedrückt wurde, wird eine Statement an die Datenbank geschickt. Ich brauche nun aber aus jeder der selektierten Zeilen ein Wert aus einer bestimmten Spalte. Wie aber komme ich nun an diese Spalte heran, wenn mehrere selektiert sind? Den Wert aus der Zeile, welche zur Zeit den Fokus hat bekomme ich herraus, aber nicht an die zweite, wenn noch eine selektiert ist.
Wie kann ich es eigentlich realisieren das nur zwei Zeilen markiert werden können? Es sollen nur eine oder zwei Zeilen markiert werden können.

Hat jemand von euch vielleicht ein kleines Tutorial oder Anleitung zu DBGrid bzw. Grids allgemein?
LCS
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 1305
Erhaltene Danke: 1

WIN 7, WIN 8
Delphi XE5, Delphi XE, Delphi 2007
BeitragVerfasst: Fr 06.12.02 09:07 
Hi
wenn mehrere Zeilen in einem DBGrid ausgewählt wurden, steht dir die Eigenschaft SelectedRows zur Verfügung. SelectedRows enthält eine Liste von Bookmarks mit deren Hilfe du auf die einzelnen Datensätze zugreifen kannst. Das funktioniert in etwa so:
ausblenden Quelltext
1:
2:
3:
4:
5:
6:
7:
if  DBGrid.SelectedRows.Count = 2 then begin//Sind soviele DS markiert wie du willst?
    for i := 0 to DBGrid.SelectedRows.Count - 1 do begin
      //Auf ausgewählten DS positionieren
      Table1.GotoBookMark(DBGrid.SelectedRows.Items[i]); 
      //Die Felder aus DS holen die du brauchst
    end;
end;


Ich hoffe das hilft dir erst mal weiter
Lothar

_________________
Der BH ist für die Brust, der Plan ist für'n Ar...