TTMSFNCDataGridColumn.Editor Property
The in-place editor type opened when a data cell in this column is edited.
API unit family: TMSFNCDataGridRenderer
Declaring type: TTMSFNCDataGridColumn
Type: TTMSFNCDataGridInplaceEditorType
Syntax
property Editor: TTMSFNCDataGridInplaceEditorType;
__property TTMSFNCDataGridInplaceEditorType Editor = {read=FEditor, write=SetEditor, default=1};
Default: getEdit
Usage examples
Configure built-in inplace editors per column
Wire combobox, trackbar, date picker, color picker, spinbox, and HTML editors to specific columns.
procedure TForm1.FormCreate(Sender: TObject);
begin
// Load sample data
Grid.Options.IO.StartColumn := 1;
Grid.Options.IO.StartRow := 1;
Grid.LoadFromCSVData('cars.csv');
// Allow direct edit on Tab / Arrow / Enter
Grid.Options.Keyboard.TabKeyDirectEdit := True;
Grid.Options.Keyboard.ArrowKeyDirectEdit := True;
Grid.Options.Keyboard.EnterKeyDirectEdit := True;
// Column 1: combobox with a fixed list of brands
Grid.Columns[1].AddSetting(gcsEditor);
Grid.Columns[1].AddSetting(gcsEditorItems);
Grid.Columns[1].Editor := getComboBox;
Grid.Columns[1].EditorItems.AddStrings(
['Mercedes', 'Audi', 'Bugatti', 'Alfa Romeo', 'Jaguar', 'BMW']);
// Column 3: trackbar (range customised in OnGetInplaceEditorProperties)
Grid.Columns[3].AddSetting(gcsEditor);
Grid.Columns[3].Editor := getTrackBar;
// Column 4: date picker, displaying values as date/time
Grid.Columns[4].AddSetting(gcsEditor);
Grid.Columns[4].Editor := getDatePicker;
Grid.Columns[4].AddSetting(gcsFormatting);
Grid.Columns[4].Formatting.&Type := gdftDateTime;
// Column 5: color picker that targets the cell fill colour
Grid.Columns[5].AddSetting(gcsEditor);
Grid.Columns[5].Editor := getColorPicker;
Grid.Columns[5].AddSetting(gcsEditorTarget);
Grid.Columns[5].EditorTarget := getFillColor;
// Column 6: spinbox
Grid.Columns[6].AddSetting(gcsEditor);
Grid.Columns[6].Editor := getSpinBox;
// Column 7: rich HTML editor
Grid.Columns[7].AddSetting(gcsEditor);
Grid.Columns[7].Editor := getHTMLEditor;
end;
procedure TForm1.GridGetInplaceEditorProperties(Sender: TObject;
ACell: TTMSFNCDataGridCellCoord; AInplaceEditor: TTMSFNCDataGridInplaceEditor;
AInplaceEditorType: TTMSFNCDataGridInplaceEditorType);
begin
// Customise the trackbar maximum
if AInplaceEditorType = getTrackBar then
(AInplaceEditor as TTMSFNCDataGridTrackBar).Max := 3000;
end;
void __fastcall TForm1::FormCreate(TObject *Sender)
{
// Load sample data
Grid->Options->IO->StartColumn = 1;
Grid->Options->IO->StartRow = 1;
Grid->LoadFromCSVData("cars.csv");
// Allow direct edit on Tab / Arrow / Enter
Grid->Options->Keyboard->TabKeyDirectEdit = true;
Grid->Options->Keyboard->ArrowKeyDirectEdit = true;
Grid->Options->Keyboard->EnterKeyDirectEdit = true;
// Column 1: combobox with a fixed list of brands
Grid->Columns->Items[1]->AddSetting(gcsEditor);
Grid->Columns->Items[1]->AddSetting(gcsEditorItems);
Grid->Columns->Items[1]->Editor = getComboBox;
Grid->Columns->Items[1]->EditorItems->AddStrings(
OPENARRAY(System::UnicodeString, ("Mercedes", "Audi", "Bugatti", "Alfa Romeo", "Jaguar", "BMW")));
// Column 3: trackbar (range customised in OnGetInplaceEditorProperties)
Grid->Columns->Items[3]->AddSetting(gcsEditor);
Grid->Columns->Items[3]->Editor = getTrackBar;
// Column 4: date picker, displaying values as date/time
Grid->Columns->Items[4]->AddSetting(gcsEditor);
Grid->Columns->Items[4]->Editor = getDatePicker;
Grid->Columns->Items[4]->AddSetting(gcsFormatting);
Grid->Columns->Items[4]->Formatting->Type = gdftDateTime;
// Column 5: color picker that targets the cell fill colour
Grid->Columns->Items[5]->AddSetting(gcsEditor);
Grid->Columns->Items[5]->Editor = getColorPicker;
Grid->Columns->Items[5]->AddSetting(gcsEditorTarget);
Grid->Columns->Items[5]->EditorTarget = getFillColor;
// Column 6: spinbox
Grid->Columns->Items[6]->AddSetting(gcsEditor);
Grid->Columns->Items[6]->Editor = getSpinBox;
// Column 7: rich HTML editor
Grid->Columns->Items[7]->AddSetting(gcsEditor);
Grid->Columns->Items[7]->Editor = getHTMLEditor;
}
void __fastcall TForm1::GridGetInplaceEditorProperties(TObject *Sender,
const TTMSFNCDataGridCellCoord &ACell, TTMSFNCDataGridInplaceEditor *AInplaceEditor,
TTMSFNCDataGridInplaceEditorType AInplaceEditorType)
{
// Customise the trackbar maximum
if (AInplaceEditorType == getTrackBar)
dynamic_cast<TTMSFNCDataGridTrackBar*>(AInplaceEditor)->Max = 3000;
}