求教dbgrideh保留上次的列宽和列序,看了这个博客:http://blog.csdn.net/hank5658/article/details/5968612
但我比较菜所以还是实现不了。我拉好了PropStorageEh控件,也在窗体的FormCreate事件加了事件:
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;  但不知要如何对StoredProps属性进行设置。有谁可否详细教一下?
dbgrideh保留上次的列宽和列序

解决方案 »

  1.   


    procedure TForm.FormCreate(Sender: TObject);
    var
      MyRestoreParams :TDBGridEhRestoreParams;
    begin
      MyRestoreParams :=[grpColIndexEh,grpColWidthsEh,grpSortMarkerEh,grpColVisibleEh,grpRowHeightEh]; DBGridEh1.RestoreGridLayoutIni('C:\DBGridEh.ini',DBGridEh1.ClassName,MyRestoreParams);
    end;
    procedure TForm.ButtonClick(Sender: TObject);
    begin
      DBGridEh1.SaveGridLayoutIni('C:\DBGridEh.ini',DBGridEh1.ClassName,True);
    end;
      

  2.   

    顺便问一下大能,cxGrid有类似自带的函数去保存列宽信息吗?我之前都是自己写函数处理