cxgrid (数据库控件)控件的使用

本文详细介绍了cxGrid控件的使用方法,包括其层的概念、各种类型的View,如DB Table、DB Banded Table和DB Card View等。讲解了如何设置图片和MEMO、隐藏'Drag a column here to group by that column'提示、自定义分组面板内容、实现主从表关系、统计功能、类似PageControl的显示效果,以及锁定列、Excel样式计算等功能。此外,还提供了导入导出数据到Excel、TXT等格式,以及根据条件改变数据颜色、动态创建Items的Editor项等高级用法。
摘要由CSDN通过智能技术生成
1:cxgrid是应该数据关联的控件,类似dbgrid。
2:一般用来查阅表信息,如果要修改的话,直接在上面编辑或添加
非常不方便 通常要放几个EDit来对选中的记录进行编辑或添加记录。

因为表一般都有主键,而用cxgrid很难控制。在post之前的主键检查工作。



3:由于没有直接进行编辑,而post之前又要进行主键检查工作(需要循环

adoquery,此时的记录索引已经改变了)。所以我们要用一个bookmack。在编辑

的时候先Getbookmack,在确认修改数据的时候,先GotoBookMark,再把值更新。



4:在选择某条记录后,需要得到相应的字段值显示在Edit上面,这个时候就要用

cxGridDBTableView的Cellclick事件里面处理;

可以用click事件里面的一个参数:ACellViewInfo。该参数的一个属性;

如:EdtMperson.text := ACellViewInfo.GridRecord.Values[2];



5:当需要得到随即选择的多条记录时有两种办法

qrymast是一个adoquery

⑴第一步得到选择的总数

Icount := cxGrid1DBTableView1.DataController.GetSelectedCount;



⑵循环所有所选择的记录

for n := 0 to icount-1 do

begin

⑶将选择记录的索引转换为数据集的索引

i := cxGrid1DBTableView1.DataController.GetSelectedRowIndex(n);

如果cxgriddbtableview没有设置排序,那么第一种方法也是正确的(因为cxgriddbtableview显示

的数据和qrymast显示的数据顺序是一样的)



//这是第一种方法,取qrymast的数据

inc(i);//因为qrymast的记录是从1开始的

qryMast.RecNo := i;

得到需要的数据值

listbox1.Items.Add(qrymast.fields[0].asstring);



//这是第二种方法,取cxGrid1DBTableView1.ViewData的数据

if i =0 then

cxGrid1DB.DataController.GotoFirst

else

cxGrid1DBTableView1.DataController.RecNo := i;

str := cxGrid1DBTableView1.ViewData.Rows[i].Values[0];

listbox1.Items.Add(str);

end;



(一次测试的时候,cxGrid1DBTableView1.DataController.RecNo := 0;语句会报错,
如果改为cxGrid1DB.DataController.GotoFirst,就没有问题)



6: 当有时候用到ACellViewInfo.GridRecord.Values[2]时候,由于values[2]是一个变体

类型Variant,而如果这个时候相应的字段值如果为空,下面这样用就会报错。

EdtMperson.text := ACellViewInfo.GridRecord.Values[2];

可以先判断一下:

if ACellViewInfo.GridRecord.Values[4]<>null then

MemRdesc.Lines.Text := ACellViewInfo.GridRecord.Values[4];





========================================================================

使用cxGrid有一些时间了,在这里总结一下使用cxGrid的一些方法,希望给刚开始接触cxGrid的人一些帮助。

1.简单介 绍:cxGrid右下方的cxGrid1Level1是表示Grid表的层,cxGrid可以有多层,这相当于集合了PageControl的

功能,而 cxGrid1Level1右边的cxGrid1DBTableView1相当于DBGrid一样。右击cxGrid1可以添加 cxGrid1Level2,右

击cxGrid1Level2,可以选择Create View , Add level 或者Delete Level。Add level可以增加子Level,Create

View里面可以选择很多不同总类的View。其中
   1)DB Table可以和数据库连接的View,更一般的DBGrid类似,它比DBGrid多了比如鼠标中键可以用,可以统计,

查询,等等功能;
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值