DBGrid有无双层列头,如有,如何设置?

解决方案 »

  1.   

    转贴:
    多层表头的DBGrid
    李立新 王宁 张玉麟 TclientDataSet控件是在Delphi中设计多层分布式数据库程序的核心控件,在Delphi3中它最早出现,在Delphi4和Delphi5中得到了进一步加强。TclientDataSet控件具有强大的功能,无论是单层、两层C/S和多层结构都可以使用TclientDataSet控件。从borland公司的公布的资料看,它的功能还将得到不断增强,本文主要介绍利用TclientDataSet控件的特色功能——抽象字段类型配合TDBGRID控件实现复杂题头。 在设计数据库录入界面时,经常需要实现如图1所示的复杂题头,这通常需要利用第三方控件或进行特殊处理才能实现。而在Delphi中利用TClientDataSe的ADT(抽象字段类型)配合TDbgrid控件,可以非常容易地实现这种题头。  图1 下面就以一个员工的工资信息表来说明具体步骤。 假设某单位的工资信息表的结构如图2所示。  图2 首先生成一个新的Application,在窗体上添加一个TClientDataSet构件和TDataSource构件,其name属性分别为ClientDataSet1和DataSource1,并把DataSource1的DataSource属性设置为ClientDataSet1上;添加一个TDBGRID和TdbNavigator控件,命名为DBGRID1和DbNavigator1,其Datasource1属性设置为ClientDataSet1。 然后建立TclientDataSet的字段定义。这里只介绍如何定义抽象字段:将基本信息和工资作为两个抽象字段,如图3所示,将两个字段分别命名为INFO和Salary。  图3 然后依次建立INFO字段和SALARY的子字段,单击对象观察器的ChildDefs,进入子字段编辑器,依次输入该字段的子字段。然后调用TclientDataSet的快捷菜单(鼠标点击TclientDataSet控件,然后右击鼠标)CreateDataSet建立CDS数据表,并保存文件。最后建立TClientDataSet的永久字段,TclientDataSet的快捷菜单,选择ADD All Fields。  图4 至此有关ClientDataSet的设置完毕。 在设置完ClientDataSet之后,需要设置DBGRID的显示属性。主要就是设置Colums的有关属性(略)。编译运行即可出现如图2所示的运行界面。然后添加一个Tdbnavigator控件,将其DataSource属性设置为Datasource1。这些与普通的基于BDE的数据库应用是一样的,不多叙述。 
    TclientDataSet还具有其它特色功能,有兴趣的程序员还可以进一步发掘。 
      

  2.   

    好象没有,你用dbgrideh就有,设置很简单的
      

  3.   

    不过建议用第三方控件,如EHLIB的EHDBGRIDEH和昆腾的DXDBGRID,都可以设置多层列头,而且不用编码。
      

  4.   

    我的E-Mail
    [email protected]
    能否发我一个EHLIB的EHDBGRIDEH和昆腾的DXDBGRID