Moin...
Sorry für die späte Rückmeldung.
Ich hatte mal ein Wochenende
ohne Arbeit...dafür den Garten...was auch Arbeit entspricht.
Zum Thema:
Danke für die Rückmeldungen.
Zitat:
Ist der Grid evt. sortiert? Wenn ja, funktioniert es korrekt wenn du die Sortierung mal rausnimmst?
Grid ist sortiert. Wenn die Sortierung auf der Nummer steht, die Nummer dann eingefügt wird, steht der Datensatz als Erstes und wird damit fokusiert. Ist die Sortierung anders, ist zwar der Datensatz selektiert aber nicht fokusiert.
Zitat:
Hast Du Dir mal die Property TopRowIndex angeschaut?
Wenn ich richtig gelesen habe, ist der dafür da, den fokusierten Datensatz in den sichtbaren Bereich zu rücken. Oder?
Zitat:
Setzt er Die hier den Focus schonmal in die richtige Zeile?
Nein...
Ergebnis:
Ich habe mit den Vorschlägen herumgespielt...
Delphi-Quellcode:
class function TToolsDevExpress.SelectRecord(View: TcxGridTableView; FieldNameID: string; CurrentID: Integer): Boolean;
var
I: Integer;
ColumnIndex: Integer;
begin
Result := False;
ColumnIndex := TcxGridDBDataController(View.DataController).GetItemByFieldName(FieldNameID).Index;
View.DataController.ClearSelection;
for I := 0 to View.DataController.RowCount - 1 do
begin
if View.DataController.Values[I, ColumnIndex] = CurrentID then
begin
View.DataController.FocusedRecordIndex := I; //FocusedRowIndex geht nicht...immer erster Datensatz :-)
View.Controller.FocusedRecord.Selected := True;
Result := True;
if Result then
begin
Break;
end;
end;
end;
end;
Die ersten Tests waren erfolgreich und werden beobachtet... Der neue Datensatz wird eingefügt und fokusiert...
DevExpress = learning by doing
Danke...