因为cxGRID有很强大的查询和统计功能,我想用cxGRID做一个查询软件,由于单位的数据库中的表特别多,并且还在不断增加表,所以我想做一个这样的查询,在FORM上放置一个cxGRID控件,根据用户的查询表名取出数据库中该表的数据,然后再在程序的配置文件中获得与该表名相对应的配置文件,该配置文件保存我设计的cxGRID的格式信息,这些格式信息是我在设计时保存的,在以后的工作中,我只需要不断增加不同表与之相对应的cxGRID的格式信息就可以满足查询需求了,而不需要经常改动程序,同时,这样还可以减少许多FORM,减少体积和出错的机率。  
虽然在cxGRID中有cxGRID1DBTableView1.RestoreFromIniFile('DW.ini');  
cxGRID1DBTableView1.StoreToIniFile('DW.ini');  
的语句,但是有些表需要双表头,有些需要单表头,请问通过在FORM上放置一个cxGRID能够通过cxGRID的配置文件实现表现不同的数据表吗?  
谢谢

解决方案 »

  1.   

    可以的procedure TfrmProdQry.piStoreToFileClick(Sender: TObject);
    begin
      ActivecxGrid.ActiveView.StoreToIniFile(FAppIniFile.IniFileName, False, [], ActivecxGrid.ActiveView.Name + '@' + Self.Name + YourTableName);
    end;procedure TfrmProdQry.piRestoreFromFileClick(Sender: TObject);
    begin
      ActivecxGrid.ActiveView.RestoreFromIniFile(FAppIniFile.IniFileName,true, false,
      [gsoUseFilter..gsoUseSummary], ActivecxGrid.ActiveView.Name + '@' + Self.Name + 
    YourTalbeName);
    end;
      

  2.   

    谢谢cncharles(旺仔)
    YourTalbeName 是指的什么?是打开的数据表名吗?比如我是从adoquery1中取得数据该如何写YourTalbeName 呢?
      

  3.   

    cncharles(旺仔)您好!
        特使未通过
      

  4.   

    cncharles(旺仔)您好!  
    测试未通过,请明示。
    谢谢
      

  5.   

    谢谢旺仔
    我的问题是如果我在FORM上放上一个cxGRID,在这个cxGRID上不做任何操作,而是打开数据源,然后在通过
    ActivecxGrid.ActiveView.RestoreFromIniFile(FAppIniFile.IniFileName,true, false,
      [gsoUseFilter..gsoUseSummary], ActivecxGrid.ActiveView.Name + '@' + Self.Name + 
    YourTalbeName);
    调入我以前设置的配置文件,系统会出现错误。
    请旺仔大侠再看看如何做,我另外开贴给分。
    再次感谢
      

  6.   

    晕, 先要把所有的数据打开一次并且执行SaveToFile, YourTableName要正确并且不能重复.
    以后每次打开数据源之前都要调用RestoreFromIniFile