• DBGridEh(RestoreGridLayoutIni)用法


    var
      MyReg:TRegIniFile;
    begin
      MyReg:=TRegIniFile.Create;
      try
        MyReg.OpenKey('MyGridInfo',True);
        DBGridEh1.SaveGridLayout(MyReg);
      finally
        MyReg.CloseKey;
        FreeAndNil(MyReg);
      end;
    end;

    //恢复:
    var
      MyReg:TRegIniFile;
    begin
      MyReg:=TRegIniFile.Create;
      try
        MyReg.OpenKey('MyGridInfo',True);
        DBGridEh1.RestoreGridLayout(MyReg,[grpColIndexEh, grpColWidthsEh, grpSortMarkerEh, grpColVisibleEh,
        grpRowHeightEh, grpDropDownRowsEh, grpDropDownWidthEh]);
      finally
        MyReg.CloseKey;
        FreeAndNil(MyReg);
      end;
    end;

    =====================================================================

    procedure TForm1.Button1Click(Sender: TObject);
    var
      iniFile:TIniFile;
    begin
      DBGridEh1.SaveGridLayoutIni('C:\test.ini','test',false);
    end;

    procedure TForm1.Button2Click(Sender: TObject);
    var
      RestoreParams:TDBGridEhRestoreParams;
    begin
      RestoreParams:=[grpColIndexEh, grpColWidthsEh, grpSortMarkerEh,
        grpColVisibleEh, grpRowHeightEh, grpDropDownRowsEh, grpDropDownWidthEh];
      DBGridEh1.RestoreGridLayoutIni('C:\test.ini','test',RestoreParams);
    end;

    ====================================================

    procedure TFrmColSelect.SaveGridLayOut;
    var
      Ini: TIniFile;
    begin
      if CheckBox1.Checked then
        Grid.SaveGridLayoutIni(ExtractFilePath(Application.ExeName) + '\Grid.ini',
          Owner.ClassName + '$' + Name, true)
      else
      begin
        Ini := TIniFile.Create(ExtractFilePath(Application.ExeName) + '\Grid.ini');
        try
          Ini.EraseSection(Grid.Owner.ClassName + '$' + Grid.Name);
        finally
          Ini.Free;
        end;
      end;
    end;


    procedure RestoreGridLayOut(AGrid:TDBGridEh);
    var
      RestoreParams:TDBGridEhRestoreParams;
    begin
      RestoreParams:=[grpColIndexEh,grpColWidthsEh,grpSortMarkerEh,
        grpColVisibleEh,grpRowHeightEh];
      with AGrid do
        RestoreGridLayoutIni(ExtractFilePath(Application.ExeName) + '\Grid.ini',
          Owner.ClassName + '$' + Name,RestoreParams);
    end;     

    用了以下的办法解决了!!     跟贴就给分!!!  
       
        //保存列宽  
        DBGridEh1.SaveGridLayoutIni(ExtractFilePath(Application.ExeName)  
          +'ini\'+DBGridEh1.Owner.ClassName+'.ini',  
          DBGridEh1.Owner.ClassName+'$'+DBGridEh1.Name,true);  
        showmessage('列状态保存成功!');  
        end  
        except  
          showmessage('列状态保存失败!');  
        end;

  • 相关阅读:
    一个业务场景的优化讨论
    关于Box Anemometer的安装配置遇到的几个坑
    CentOS6.5内 MySQL5.7.19编译安装
    CentOS6.5内 Oracle 11GR2静默安装
    始祖公——陈憺 河浦人文 (转载)
    Andriod- 从网络下载文件保存到SDCARD里
    Android Studio 如何添加第三方插件
    Android- SharedPreferences的封装
    Java/Andriod- 常用的 Android Studio 快捷键
    Java/Andriod- 动态权限申请
  • 原文地址:https://www.cnblogs.com/mingdep/p/2345307.html
Copyright © 2020-2023  润新知