Try using GetDefaultEditor instead of SelectEditor

git-svn-id: https://svn.code.sf.net/p/lazarus-ccr/svn@1981 8e941d3f-bd1b-0410-a28a-d453659cc2b4
This commit is contained in:
jujibo
2011-09-21 19:32:46 +00:00
parent 8f8180c10e
commit c64b60c7fb

View File

@ -20,7 +20,8 @@ type
doubleDbGridControl: TJDbGridDoubleCtrl; doubleDbGridControl: TJDbGridDoubleCtrl;
protected protected
{ Protected declarations } { Protected declarations }
procedure SelectEditor; override; //procedure SelectEditor; override;
function GetDefaultEditor(Column: integer): TWinControl; override;
public public
{ Public declarations } { Public declarations }
constructor Create(TheOwner: TComponent); override; constructor Create(TheOwner: TComponent); override;
@ -42,17 +43,39 @@ end;
{ TJDBGridControl } { TJDBGridControl }
procedure TJDBGridControl.SelectEditor; //procedure TJDBGridControl.SelectEditor;
//begin
// inherited SelectEditor;
// if Editor <> nil then
// begin
// case SelectedField.DataType of
// ftSmallint, ftInteger: Editor := integerDbGridControl.Editor(Self);
// ftDate: Editor := dateDbGridControl.Editor(Self); // TODO: ftDateTime ftTime
// ftCurrency, ftFloat, ftBCD: Editor := doubleDbGridControl.Editor(Self);
// // TODO: strings?
// end;
// end;
//end;
function TJDBGridControl.GetDefaultEditor(Column: integer): TWinControl;
var
//aColumn: TColumn;
aField: TField;
begin begin
inherited SelectEditor; Result := inherited GetDefaultEditor(Column);
if Editor <> nil then if Result <> nil then
begin begin
case SelectedField.DataType of //aColumn := Columns.Items[Column - 1];
ftSmallint, ftInteger: Editor := integerDbGridControl.Editor(Self); aField:= GetFieldFromGridColumn(Column);
ftDate: Editor := dateDbGridControl.Editor(Self); // TODO: ftDateTime ftTime //if aColumn <> nil then
ftCurrency, ftFloat, ftBCD: Editor := doubleDbGridControl.Editor(Self); if aField <> nil then;
// TODO: strings? //case aColumn.Field.DataType of
end; case aField.DataType of
ftSmallint, ftInteger: Result := integerDbGridControl.Editor(Self);
ftDate: Result := dateDbGridControl.Editor(Self);
ftCurrency, ftFloat, ftBCD: Result := doubleDbGridControl.Editor(Self);
// TODO: ftDateTime and ftTime. strings?
end;
end; end;
end; end;
@ -60,7 +83,6 @@ constructor TJDBGridControl.Create(TheOwner: TComponent);
begin begin
inherited Create(TheOwner); inherited Create(TheOwner);
dateDbGridControl := TJDbGridDateCtrl.Create; dateDbGridControl := TJDbGridDateCtrl.Create;
SelectEditor;
integerDbGridControl := TJDbGridIntegerCtrl.Create; integerDbGridControl := TJDbGridIntegerCtrl.Create;
doubleDbGridControl := TJDbGridDoubleCtrl.Create; doubleDbGridControl := TJDbGridDoubleCtrl.Create;
end; end;