Soltac Geschrieben 27. Juni 2003 Teilen Geschrieben 27. Juni 2003 Hallo, also ich muss in meinem DBGrid mehrere Zeilen auswählen können, jetzt weiß ich aber nicht wo ich die Zeilen auslesen kann, oder wie? mfg soltac Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 27. Juni 2003 Teilen Geschrieben 27. Juni 2003 Ist in einem DBGrid nicht möglich AFAIk, da die ausgewählte Zeile im DBGrid immer auch der aktuelle Datensatz im Dataset ist. Es kann aber nur ein Datensatz in Dataset gewählt sein. Eine Datensensitive Komponente die sowas kann wirst du glaub ich nicht finden. Lösung: Füge deinem Dataset ein Boolean-Feld hinzu und nimm im Grid dafür eine Checkbox (geht das mit nem standard DBGrid überhaupt:confused: ). Wenn du die dann bestimmen willst gehst du folgendermassen vor: Query1.First; While not Query1.EOF do begin if Query1.FieldByName('Checked').asBoolean then begin {irgendwas damit machen} end; Query1.next; end; davor solltest du vielleicht ein Datasource.Disablecontrols machen (bin jetzt nicht sicher ob es bei der Datasource ist), um die Änderungen der Datensätze nicht immer auch im Grid zu sehen (also der gewählte Datensatz im Grids springt immer) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Soltac Geschrieben 27. Juni 2003 Autor Teilen Geschrieben 27. Juni 2003 Danke, sehr gute Einfall! Es das mit dem Boolean-Feld funktioniert zwar nicht im normalen DB-Grid, aber ich hole mir jetzt erstmal ein Integerfeld indem ich mit 1 und 0 die Auswahl treffen kann! Vielen dank nochmal! mfg soltac Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 27. Juni 2003 Teilen Geschrieben 27. Juni 2003 Original geschrieben von Soltac aber ich hole mir jetzt erstmal ein Integerfeld indem ich mit 1 und 0 die Auswahl treffen kann! Noch ein "Tip" dazu... Boolean ist nichts anderes als 0 bzw 1 Du kannst also entweder scheiben IF Query1.FieldByName('Check').asInteger = 0 then else IF Query1.FieldByName('Check').asInteger = 1 then oder aber If Boolean(Query1.FieldByName('Check').asInteger) then 0 Ist False und 1 ist True Ord(False) = 0 Ord(True) = 1 Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
maxim_42 Geschrieben 30. Juni 2003 Teilen Geschrieben 30. Juni 2003 Nur der Vollständigkeit halber: In VB hat der Bool true (wahr) den Wert -1. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
ArmedSnail Geschrieben 4. Juli 2003 Teilen Geschrieben 4. Juli 2003 delphi ist aber nicht VB Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Pointerman Geschrieben 7. Juli 2003 Teilen Geschrieben 7. Juli 2003 Moin! Als erstes must Du unter Options "dgMultiselect" auf True setzten (DBGrid.Options.dgMultiselect := True;). Jetzt kannst Du mehrere Zeilen Markieren, die in DBGrid.SelectedRows als Bookmarks gespeichert werden. Wenn Du jetzt die Zeilen bearbeiten willst, dann musst Du die markierten Zeilen mit GotoBookmark durchgehen. Hoffe geholfen zu haben! Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.