columnsmultieditorsdemomain.pas
来自「DevExpress ExpressQuantumGrid Suite v5.9」· PAS 代码 · 共 151 行
PAS
151 行
unit ColumnsMultiEditorsDemoMain;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Dialogs,
Forms, cxControls, cxGridCustomTableView, cxGridTableView, cxGridCustomView,
cxLookAndFeels, cxData, cxDBData, cxClasses, cxEditRepositoryItems,
cxDataStorage, StdCtrls, cxEdit, ActnList, ImgList, Menus, ComCtrls,
cxGridLevel, cxStyles, cxGraphics, cxCustomData, cxGrid, cxFilter;
type
TColumnsMultiEditorsDemoMainForm = class(TForm)
mmMain: TMainMenu;
miAbout: TMenuItem;
miFile: TMenuItem;
miOptions: TMenuItem;
miExit: TMenuItem;
sbMain: TStatusBar;
lbDescrip: TLabel;
EditRepository: TcxEditRepository;
ImageComboLanguages: TcxEditRepositoryImageComboBoxItem;
ImageComboCommunication: TcxEditRepositoryImageComboBoxItem;
SpinItemYears: TcxEditRepositorySpinItem;
DateItemStartWorkFrom: TcxEditRepositoryDateItem;
Grid: TcxGrid;
tvSkills: TcxGridTableView;
clnName: TcxGridColumn;
clnSkill: TcxGridColumn;
clnGrade: TcxGridColumn;
lvSkills: TcxGridLevel;
cxStyleRepository1: TcxStyleRepository;
GridTableViewStyleSheetDevExpress: TcxGridTableViewStyleSheet;
cxStyle1: TcxStyle;
cxStyle2: TcxStyle;
cxStyle3: TcxStyle;
cxStyle4: TcxStyle;
cxStyle5: TcxStyle;
cxStyle6: TcxStyle;
cxStyle7: TcxStyle;
cxStyle8: TcxStyle;
cxStyle9: TcxStyle;
cxStyle10: TcxStyle;
cxStyle11: TcxStyle;
cxStyle12: TcxStyle;
cxStyle13: TcxStyle;
cxStyle14: TcxStyle;
miEditButtons: TMenuItem;
miEditButtonsNever: TMenuItem;
miEditButtonsForFocusedRecord: TMenuItem;
miEditButtonsAlways: TMenuItem;
LookAndFeelController: TcxLookAndFeelController;
procedure miAboutClick(Sender: TObject);
procedure miExitClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
procedure clnGradeGetProperties(Sender: TcxCustomGridTableItem;
ARecord: TcxCustomGridRecord;
var AProperties: TcxCustomEditProperties);
procedure miEditButtonsAlwaysClick(Sender: TObject);
procedure miEditButtonsFocusedRecordClick(Sender: TObject);
procedure miEditButtonsNeverClick(Sender: TObject);
private
end;
var
ColumnsMultiEditorsDemoMainForm: TColumnsMultiEditorsDemoMainForm;
implementation
{$R *.dfm}
uses
AboutDemoForm, ColumnsMultiEditorsDemoDS;
procedure TColumnsMultiEditorsDemoMainForm.miAboutClick(Sender: TObject);
begin
ShowAboutDemoForm;
end;
procedure TColumnsMultiEditorsDemoMainForm.miExitClick(Sender: TObject);
begin
Close;
end;
procedure TColumnsMultiEditorsDemoMainForm.FormCreate(Sender: TObject);
begin
tvSkills.BeginUpdate;
try
clnSkill.DataBinding.ValueTypeClass := TcxStringValueType;
clnGrade.DataBinding.ValueTypeClass := TcxVariantValueType;
clnName.DataBinding.ValueTypeClass := TcxStringValueType;
finally
tvSkills.EndUpdate;
end;
tvSkills.DataController.CustomDataSource := TSkillDataSource.Create(tvSkills,
ImageComboLanguages.Properties.Items.Count,
ImageComboCommunication.Properties.Items.Count);
tvSkills.DataController.CustomDataSource.DataChanged;
tvSkills.DataController.Groups.FullExpand;
end;
procedure TColumnsMultiEditorsDemoMainForm.FormDestroy(Sender: TObject);
begin
tvSkills.DataController.CustomDataSource.Free;
end;
procedure TColumnsMultiEditorsDemoMainForm.clnGradeGetProperties(
Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord;
var AProperties: TcxCustomEditProperties);
begin
case ARecord.RecordIndex mod SkillCount of
0: AProperties := SpinItemYears.Properties;
1, 2: AProperties := ImageComboLanguages.Properties;
3: AProperties := ImageComboCommunication.Properties;
4: AProperties := DateItemStartWorkFrom.Properties;
end;
end;
procedure TColumnsMultiEditorsDemoMainForm.miEditButtonsAlwaysClick(
Sender: TObject);
begin
if tvSkills.OptionsView.ShowEditButtons <> gsebAlways then
begin
TMenuItem(Sender).Checked := True;
tvSkills.OptionsView.ShowEditButtons := gsebAlways;
end;
end;
procedure TColumnsMultiEditorsDemoMainForm.miEditButtonsFocusedRecordClick(
Sender: TObject);
begin
if tvSkills.OptionsView.ShowEditButtons <> gsebForFocusedRecord then
begin
TMenuItem(Sender).Checked := True;
tvSkills.OptionsView.ShowEditButtons := gsebForFocusedRecord;
end;
end;
procedure TColumnsMultiEditorsDemoMainForm.miEditButtonsNeverClick(
Sender: TObject);
begin
if tvSkills.OptionsView.ShowEditButtons <> gsebNever then
begin
TMenuItem(Sender).Checked := True;
tvSkills.OptionsView.ShowEditButtons := gsebNever;
end;
end;
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?