Einzelnen Beitrag anzeigen

oakley

Registriert seit: 15. Aug 2005
287 Beiträge
 
#6

AW: DevExpress: Nach SQL Insert den neuen Datensatz fokussieren

  Alt 2. Mai 2022, 20:37
Das der RecordIndex hier dem RowIndex entspricht muss nicht immer so sein.

Delphi-Quellcode:
  
class function TToolsDevExpress.SelectRecord(View: TcxGridTableView; FieldNameID: string; CurrentID: Integer): Boolean;
var
  I: Integer;
  ColumnIndex: Integer;
  recidx : Integer;
begin
  Result := False;
  ColumnIndex := TcxGridDBDataController(View.DataController).GetItemByFieldName(FieldNameID).Index;

  View.DataController.ClearSelection;
  for I := 0 to View.DataController.RowCount - 1 do
  begin
  recidx := View.ViewData.Rows[I].RecordIndex;

  if View.DataController.Values[recidx, ColumnIndex] = CurrentID then <-- I ist hier der Rowindex, DataController.Values will aber den RecordIndex und das kann hier zu Fehlern führen
    begin
      View.DataController.FocusedRecordIndex := recidx;
      View.Controller.FocusedRecord.Selected := True;
      Result := True;
      if Result then
      begin
        Break;
      end;
    end;
  end;
end;
  Mit Zitat antworten Zitat