Autor Beitrag
eisbaer1981
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mo 03.01.05 13:53 
Hi,

hab folgendes Problem.

Ich hab eine Desktop-Datenbank vom Typ KeyDB.
Nun will ich rausfinden, welche einträge in einem grid markiert worden.
Das grid ist ein db grid und direkt mit der table verbunden.

in interbase mach ich das mit dem befehl table.selectedbookmarks

das war nur ein beispiel, falls man nicht genau verstanden hat, was mein problem ist.

Danke im voraus

Eis

_________________
Dumm ist der, der dummes tut.
neojones
ontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic starofftopic star
Beiträge: 1206
Erhaltene Danke: 1



BeitragVerfasst: Mo 03.01.05 15:10 
Die Angabe, welche Datensätze bei MultiSelect markiert sind hat ja nicht die Datenbank (denn da kann der Cursor immer nur auf einem Datensatz liegen) sondern das DBgrid. Daher sollte es unabhängig von der Datenbank immer gleich funktionieren, nämlich mit der Eigenschaft "SelectedRows".

_________________
Ha! Es compiliert! Wir können ausliefern!
MrSpock
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 262



BeitragVerfasst: Mo 03.01.05 15:10 
Hallo eisbear1981,

ich kenne zwar die KeyDB nicht, wenn du aber mit einem TTable Objekt arbeitest und die Daten in einem DBGrid dargestellt werden, dann ist der markierte Datensatz immer der aktuelle. Du kannst also z.B. die ID des Datensatzes (sofern das Feld existiert) mit:

ausblenden Delphi-Quelltext
1:
markierteID := myTable.FieldByName('ID').AsInteger;					


ermitteln.

_________________
Live long and prosper
MrSpock \\//
eisbaer1981 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mo 03.01.05 15:23 
Das Problem ist, dass ich nicht mit einer TTable arbeite, sonder mit der udb-Table von KeyDB selber.
Und diese hat leider die eigenschaft selectedrows nicht! :/

_________________
Dumm ist der, der dummes tut.
eisbaer1981 Threadstarter
Hält's aus hier
Beiträge: 4



BeitragVerfasst: Mo 03.01.05 15:30 
Sorry, ich rede hier die ganze zeit von "SelectedRows".
ich meine "SelectedBookmarks"......

_________________
Dumm ist der, der dummes tut.
frank-wob
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 28.10.05 09:34 
Titel: Leider ein bischen spät...
Ich hatte gerade das gleiche Problem und habe nun die Lösung. Ist zwar etwas spät, aber vielleicht braucht es ja noch jemand.


ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
for i:=0 to dbgrid1.selectedRows.count - 1 do
 begin
  Table1.Bookmark := dbgrid1.selectedRows[i];
  {Anweisungen...}
 end;


Anstelle von Table1 kann man natürlich auch Query nehmen.

Frank

Moderiert von user profile iconraziel: Delphi-Tags hinzugefügt.
mexx2k
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 60



BeitragVerfasst: Fr 31.08.07 09:44 
Hallo

Ich benutze in StrinGrid und möchte auch nur auslesen, welche der Zeilen in meinem Grid markiert sind und welche nicht.
Allerdings hat mein Grid keine Eigenschaft welche selectedrows oder selectedbookmarks heisst.
Das einzige was mein Grid kenn, was mit sel anfängt ist: StringGrid.Selection
^^
Übrigens hat mein Grid auch nicht die Option "multiselect". Welche ich aber bräuchte.
Bitte um Hilfe.