怎样让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还具有其它特色功能,有兴趣的程序员还可以进一步发掘。 楼上的兄弟我就是照上面的做,还是实现不了啊,在设计阶段是多层的表头,运行阶段就不是的了,dbgrid到底怎么设置的啊? 1.新建一工程。2.在FORM1上放一个ClientDataSet,一个DataSource,一个DBGrid,设置好它们之间的关系。3.选中ClientDataSet,在属性编辑器中按FieldDefs属性,加入两个字段:INFO, SALARY 设置它们的DataType属性为ftADT.4.选中INFO字段,在属性编辑器中按ClildDefs属性,加入几个子字段,设置它们的DataType 属性为ftString5.同样为Salary字段加入几个子字段6.在ClientDataSet上按右键,选择CreateDataSet菜单。7.在属性编辑器中设置ClientDataSet的Active属性为True。8.在DBGrid中应该可以见到结果了。 to cg1120(代码最优化-§新年祝福你,好运伴着你§): 你的ClientDataSet是怎样连接数据库的? 不用第三方控件似乎比较难以实现的,用RXLib,很好的,又不用注册,直接可以像delhpi自己的控件一样用,多好。 用dbgrdieh多好,又有源代码。功能又多,还支持直接打印呢?还不用注册。我一直用。要的话我可以给你。 zouwenyan(珠穆) where to download as you say? [email protected]谢了也发一份给俺吧。 to kdj1020(笑失意狼) 能发一份给我吗?my e-mail:[email protected]. 先谢谢你了. kdj1020(笑失意狼) 谢谢,我也要一份 kdj1020(笑失意狼) 邮箱 [email protected] kdj1020(笑失意狼)我也要一份。谢谢![email protected] 能不能也给我一份[email protected] 求教如何复制一个被打开的文件 delphi ComboBox 只读 text 登录窗体问题请教,谢谢,在线等 Socket通讯,广域网数据传送与接收!!! 如何改变弹出对话框的标题? 请教:如何让IDSMTP和POP3工作时候通过ProgressBar显示进度啊?万分感激 小问题,关于TrackBar,解决立即给分 能否用pcanywhere,以外网控制内网 Form怎样知道鼠标点在哪个控制上了(控制不响应鼠标消息),求教大虾们!!! 欢迎参加需求调查! 三层上传文件时,第二次上传会报内存错误 情人节紧急问题求助!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
多层表头的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.在FORM1上放一个ClientDataSet,一个DataSource,一个DBGrid,设置好它们之间的关系。
3.选中ClientDataSet,在属性编辑器中按FieldDefs属性,加入两个字段:INFO, SALARY
设置它们的DataType属性为ftADT.
4.选中INFO字段,在属性编辑器中按ClildDefs属性,加入几个子字段,设置它们的DataType
属性为ftString
5.同样为Salary字段加入几个子字段
6.在ClientDataSet上按右键,选择CreateDataSet菜单。
7.在属性编辑器中设置ClientDataSet的Active属性为True。
8.在DBGrid中应该可以见到结果了。
你的ClientDataSet是怎样连接数据库的?
谢了也发一份给俺吧。
能发一份给我吗?my e-mail:[email protected].
先谢谢你了.
谢谢,我也要一份
邮箱 [email protected]
我也要一份。谢谢!
[email protected]