Einzelnen Beitrag anzeigen

Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.388 Beiträge
 
Delphi 12 Athens
 
#5

AW: DevExpress: Nach SQL Insert den neuen Datensatz fokussieren

  Alt 2. Mai 2022, 07:36
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...

Geändert von haentschman ( 2. Mai 2022 um 07:40 Uhr)
  Mit Zitat antworten Zitat