'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