delphi中常用的数据显示控件大多数都可以用拖动来调列顺序和列宽,而且这些设置是可以在下次打开时保留上次的操作的,这是个很实用也很有用的功能,能给用户很好的使用体验,下面是常用的DBGridEh、DxDbGrid和cxgrid三个数据显示控件的设置方法:
dbgrideh:
需要另外一个控件,PropStorageEh
PropStorageEh 可以很方便的将窗体中控件的属性值保存到Ini文件,并且需要进行读取设置。只需要对StoredProps属性进行设置,在OnCreate事件:
procedure Tform1.FormCreate(Sender: TObject);
var
IniPropStorageMan: TIniPropStorageManEh;
begin
IniPropStorageMan := TIniPropStorageManEh.Create(nil);
if not DirectoryExists(ExtractFileDir(ParamStr(0))+'/Cust_Ini/') then
ForceDirectories(ExtractFileDir(ParamStr(0))+'/Cust_Ini/');
IniPropStorageMan.IniFileName := ExtractFileDir(ParamStr(0)) + '/Cust_Ini/'+ Self.Name +'_INI';
SetDefaultPropStorageManager(IniPropStorageMan);
end;
dxdbgrid:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
dxDBGrid1.SaveToIniFile('E:/exec/dxdbgrid列宽/'+ Self.Name +'.ini');
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
dxDBGrid1.LoadFromIniFile('E:/exec/dxdbgrid列宽/'+ Self.Name +'.ini');
end;
cxgrid:
procedure TForm1.FormCreate(Sender: TObject);
begin
cxGrid1DBTableView1.RestoreFromIniFile('E:/exec/cxgrid列宽/'+ Self.Name +'.ini');
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
cxGrid1DBTableView1.StoreToIniFile('E:/exec/cxgrid列宽/'+ Self.Name +'.ini');
end;