DBGrid Tastaturselektierung
-
Hallo!
Ich habe das seltsame Phänomen, dass mir DBGrid->SelectedRows->Count bei, mit der Maus selektierten Zeilen, die richtige Zahl angibt, bei, mit der Tastatur selektierten Zeilen, die Eigenschaft immer 0 zurückgibt. Ich habe über das DrawColumnCell-Event die Farbe der selektierten Zeile geändert. Da scheint die DBGrid die Tastaturselektierung zu akzeptieren, da die Farbe korrekt gewählt ist.
Ist das bei der DBGrid normal oder kann man das über die DBGrid Eigenschaften ändern oder sonst irgendwie ermöglichen, dass auch Tastaturselektierungen mitgezählt werden?Grüße
HeAvY_T
-
Herrlich, wie so anscheinend banale Sachen Zeit kosten können
Also, eine mögliche Lösung ist, das AfterScroll-Event des im DBGrid verlinkten DataSets (DBGrid->DataSource->DataSet).
Dort wird der aktuell "angewählte" Datensatz übergeben, mit dem man dann beliebig Arbeiten kann.Der folgende Code gibt z.B. den Wert aus der ersten Spalte als MessageBox zurück:
void __fastcall TForm1::SQLClientDataSet1AfterScroll(TDataSet *DataSet) { Application->MessageBoxA((DataSet->Fields->Fields[0]->AsString).c_str(), "test", MB_OK); }
[ Dieser Beitrag wurde am 27.04.2003 um 14:12 Uhr von HeAvY_T editiert. ]