You've already forked lazarus-ccr
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:
@ -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;
|
||||||
|
Reference in New Issue
Block a user