关于cxGrid问题,动态增加删除行、列

okyzx 2006-07-06 04:02:44
我使用的cxGrid是5.0的,在DELPHI7中新建工程,拉了一个cxGrid进去,增加了一个Table,是Table不是DB Table,我要实现的功能就是用代码实现增加、删除行和列
...全文
1474 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
grjgrj 2006-12-07
  • 打赏
  • 举报
回复
最近做了Cxgrid的加强右键菜单工具
新版本已出来,加入了多语控制等功能,优化了速度(希望大家给点意见)

主要功能:(详情请下载后运行其中的cxGridPopupMenuTest.exe文件)
1.多列排序
2.对列进行計數、合計、求最大值、求最小值、求平均值的聚合操作
3.设置列的对齐方式:居中、居左、居右
4.将数据输出到EXCEL、HTML、XML、TEXT
5.过滤数据
6.选择隐藏列
7.图形分析(将直接数据或分组后的数据用条图、屏图等多种图形显示出来)
8.增删改表头操作,也可设置表头的位置
9.增删改非数据关联列的操作,可定义计算列的取值脚本
10.配色设置(可选择统一配色或根据列或记录的值自定义列或行的颜色)
11.打印设置(可打印当前的cxGrid或其它此窗体上的控件)
12.多语功能
13.其它(如加入序号列、块选择数据、使过滤数据在Dataset上也起作用)
如果你有新的需求或更改的地放,请联系,谢谢
所有介绍中的设置都会自动保存,下次打开窗体时会自动加载上次的设置。


联系方式:13641869371
QQ:16187001
SKYPE:grjyubosoft.net
grj208981@163.com,grj208981sina.com
主页:http://grjgrj.512j.com

预览地址
http://grjgrj.512j.com/file/view.bmp
下载地址:
http://grjgrj.512j.com/file/test.rar
liangyong007a 2006-07-07
  • 打赏
  • 举报
回复
连点辛苦费都没有
cncharles 2006-07-06
  • 打赏
  • 举报
回复
已发我写好的代码
okyzx 2006-07-06
  • 打赏
  • 举报
回复
邮件已经发出,请查收,先谢了
cncharles 2006-07-06
  • 打赏
  • 举报
回复
附上源代码
E-Mail: jouquan@163.com
okyzx 2006-07-06
  • 打赏
  • 举报
回复
我完全用你代码测试了一下,还是报那个错,我的是汉化版的5.0 +Delphi7
你MSN 邮件多少,我给你发一个我写好的程序你看看,多谢了
cncharles 2006-07-06
  • 打赏
  • 举报
回复
我的都不会出现那种错误呀, 你完全用我的代码测试一下.

我的cxGrid5.12, BDS2006+update2
okyzx 2006-07-06
  • 打赏
  • 举报
回复
TO cncharles(旺仔):
我之前也是用你的办法来实现删除和增加列行
现在的情况是
我第一次增加列行到TableView中很正常
第二次(没有关闭程序)删除了所有行再删除列,再增加列行,数据显示正常
但就是会发现鼠标点击TableView的格子时,就会出现读地址错误这个异常,如下
Access violation at address 00659874 in module test.exe'. Read of address 0000004C
肯定是什么资源释放问题
cncharles 2006-07-06
  • 打赏
  • 举报
回复
procedure TForm1.btnAddRowColumnClick(Sender: TObject);
var
Column: TcxGridColumn;
begin
Column:= cxGrid1TableView1.CreateColumn;
Column.Caption := 'Test';
cxGrid1TableView1.DataController.AppendRecord;
cxGrid1TableView1.DataController.Values[0, 0] := 'ABC';
cxGrid1TableView1.DataController.Post;
end;

procedure TForm1.btnDelRowColumnClick(Sender: TObject);
begin
cxGrid1TableView1.DataController.DeleteRecord(0);
cxGrid1TableView1.Columns[0].Free;
end;
okyzx 2006-07-06
  • 打赏
  • 举报
回复
TO liangyong007a
我这个动态增加列删除行列和数据库无关的
liangyong007a 2006-07-06
  • 打赏
  • 举报
回复
var
i: Integer;
FieldName,DisplayName: string;
FColumn: TcxGridDBColumn;
liangyong007a 2006-07-06
  • 打赏
  • 举报
回复
for i := 0 to AdoTable1.Fields.Count - 1 do
begin
FieldName := AdoTable1.Fields[i].FieldName;

AdoTable1.Fields[i].DisplayLabel := FieldName;
FColumn := cxGridDBTableView.CreateColumn;
FColumn.DataBinding.FieldName := FieldName;
FColumn.MinWidth := 100;
end;
end;

给分吧

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧