栏头显示为:
|-------------|------------------------------------------|
|    12       |                123                       |
|------|------|-----------|----------------|-------------|
|__1 __|__2___|_____1_____|_______2________|_____3_______|
(注:栏头显示项数目不定,且有可能超出一屏)。
望各位兄弟帮忙。。

解决方案 »

  1.   

    自带的dbgrid不能实现。可以使用dbgrideh来代替,可以到www.15delphi.com查找ehlib控件,还有就是cxgrid可以实现
      

  2.   

    可以,这是我找到的资料:
    多层表头的DBGrid
      李立新 王宁 张玉麟 TclientDataSet控件是在Delphi中设计多层分布式数据库程序的核心控件,在Delphi3中它最早出现,在Delphi4和Delphi5中得到了进一步加强。TclientDataSet控件具有强大的功能,无论是单层、两层C/S和多层结构都可以使用TclientDataSet控件。从borland公司的公布的资料看,它的功能还将得到不断增强,本文主要介绍利用TclientDataSet控件的特色功能——抽象字段类型配合TDBGRID控件实现复杂题头。 在设计数据库录入界面时,经常需要实现如图1所示的复杂题头,这通常需要利用第三方控件或进行特殊处理才能实现。而在Delphi中利用TClientDataSe的ADT(抽象字段类型)配合TDbgrid控件,可以非常容易地实现这种题头。 下面就以一个员工的工资信息表来说明具体步骤。 假设某单位的工资信息表的结构如图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还具有其它特色功能,有兴趣的程序员还可以进一步发掘。 只是没图.希望对你有所帮助. 
      

  3.   

    dbgrideh完全能满足你的要求
    下个ehlib控件包
    www.51delphi.com