Zitat von
Privateer3000:
Der steht der Datenzeiger nicht immer nur auf einem Satz?
Wenn multi-select geschieht das im Datasource?!
Das kann man so nicht sagen.
Man kann nur die Datensätze selektieren, die man per Code angefahren hat.
Hier ein Beispiel:
Delphi-Quellcode:
// DBGrid1 ist mit Query1 verbunden
begin
Query1.DisableControls;
try
Query1.First;
// über alle Datensätze gehen
while not Query1.Eof do
begin
// alle Artikel, die 500 Steine oder mehr kosten, selektieren
if Query1.FieldByName('Preis').AsCurrency >= 500.0 then
DBGrid1.SelectedRows.CurrentRowSelected := True
else
DBGrid1.SelectedRows.CurrentRowSelected := False; // die billigen abwählen
Query1.Next;
end;
finally
Query1.EnableControls;
end;
end;