DBGrid有无双层列头,如有,如何设置? DBGrid有无双层列头,如有,如何设置? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 转贴:多层表头的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还具有其它特色功能,有兴趣的程序员还可以进一步发掘。 好象没有,你用dbgrideh就有,设置很简单的 不过建议用第三方控件,如EHLIB的EHDBGRIDEH和昆腾的DXDBGRID,都可以设置多层列头,而且不用编码。 我的E-Mail[email protected]能否发我一个EHLIB的EHDBGRIDEH和昆腾的DXDBGRID 问下大家,indytcpclient再write的时候同时read会发生什么 CSDN idhttp组件问题? 多线程问题,着急用 妈的,郁闷 delphi的if then问题 ******************FormActivate出错,好象是焦点的问题,不知道怎么解决***************88 请教,关于主进程创建子进程 这样的情况还能用StringGrid吗???如果不可以那用什么?DBgrid? 数据库连接的一些问题? 如何获取自己机器的IP地址? 动态创建控件问题
多层表头的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还具有其它特色功能,有兴趣的程序员还可以进一步发掘。
[email protected]
能否发我一个EHLIB的EHDBGRIDEH和昆腾的DXDBGRID