一个关于 dxDBGrid 的问题,简单、急。问了好多位 dfw 都没能解决。(50分)

  • 主题发起人 主题发起人 netabloid
  • 开始时间 开始时间
N

netabloid

Unregistered / Unconfirmed
GUEST, unregistred user!
  我在用 dxDBGrid 的时候碰到一个问题,我不知道 如何在程序运行的时候动态的给它添加一列。
 
这很容易解决呀,你可以在控件编辑的时候事先加一列,让该列的VISIBLE属性为FALSE。
到了需要的时候再改变该列的一些属性值,然后把VISIBLE的属性值改为TRUE不就可以了吗。
 
  这种方法我知道,但我查询的时候有的时候它的列不一定,有时有两列,有时有三列,有时有几十列,所以我想动态的添加它!
 
从SQL语句入手就可以!
 
ok!
dxdbgrid.createcolumn(tdxdbgridcolumn);
好用。tdxdbgridcolumn是基本类型,tdxdbgridmaskcolumn,tdxdbgriddatecolumn....
是子类型.
 
to 张剑波:
  具体怎么加?就是这么加吗?
dxdbgrid1.createcolumn(tdxdbgridcolumn);
字类在哪儿?列的名字在哪儿?请详细告知!谢谢!
 
dxdbgrid1.createcolumn(tdxdbgridcolumn);
dxdbgrid1.columns[0].fieldname='xxx';
就可以显示了。
不断重复以上语句,当然columns,i是改变的。
没问题,具体细节你当然能解决。
我下线了。
 
我试试!非常感谢!!
 


query1.open;
with dxDBGrid do
begin
dxdbgrid.DefaultFields := false;
DestroyColumns;
KeyField := '';

CreateDefaultColumns(Datasource.Dataset, Self);
KeyField := query1.Fields.Fields[0].FieldName;
// 上面这一句一定能够需要,具体的字段看你的需要定
end;


可以到http://www.playicq.com/dispdoc.php?t=&id=1461 下载我的数据库浏览器看看
里面的强力查询就是用的上面的语句
 
多人接受答案了。
 
后退
顶部