Einzelnen Beitrag anzeigen

hirnstroem

Registriert seit: 21. Sep 2005
297 Beiträge
 
Delphi 2006 Professional
 
#1

SetFocus während OnRenderCell

  Alt 26. Okt 2006, 16:06
'loha Folks,

auf einem IWDBGrid (DBGrid für IntraWeb) wird von Zeit zu Zeit in einer bestimmten Zelle ein Edit Feld (IWDBEdit) als Control verwendet. Dies wird folgendermassen gemacht:

Delphi-Quellcode:
procedure TfrmSystem_Masterdata_Rooms.grdRoomRenderCell(ACell: TIWGridCell;
  const ARow, AColumn: Integer);
begin
  if (ARow <> 0) and (AColumn = 0) and (DataSet.RecNo = EditRecNo) then
  begin
    with ACell do
    begin
      try
        Control := TIWDBEdit.Create(Self);
        Text := '';
        with TIWDBEdit(Control) do
        begin
          Name := 'edtEdit' + IntToStr(DataSet.RecNo);
          DataSource := UserSession.DataSource_Room;
          DataField := 'Room';
// SetFocus;
        end;
      except
//
      end;
    end;
  end;
Da das Edit Feld für das Editieren eines Datensatzes vorgesehen ist, sollte der Fokus darauf gesetzt sein. Dies funktioniert allerdings nicht. Die folgende Fehlermeldung "Control cannot retreive focus" erscheint.

Ich nehme an, dass dies passiert, weil das Grid noch "gerendert wird". Beweisen kann ich es nicht.

Falls mir nun jemand einen Tip geben kann, wie dieses Edit Feld den Fokus erhalten könnte, wäre ich sehr froh.

Das ganze wird mit IntraWeb gemacht.

Grüsse
hirnstroem
inde deus abest
  Mit Zitat antworten Zitat