读书人

delphi 动态添加字段的有关问题

发布时间: 2012-02-28 13:06:36 作者: rapoo

delphi 动态添加字段的问题
Field := TBooleanField.Create(self);
Field.DataSet := DataSource.DataSet;

DataSource.DataSet.OPen();//如Sql语句为'select Item,test form table1'

然后dbGRID就只显示是了Field这个动态添加的字段,

而Sql语句中的字段(Item,test栏位)却没有显示出来

这是怎么回事呢?

[解决办法]
是因为你DBGrid里面固定添加了某些字段,右键,Columns Editor,把里面东西全部删除就动态显示了。你DataSet里面有哪些字段就是哪些。
[解决办法]
动态添加实际上就像在Columns Editor中添加
因为你只添加一个,所以就只显示一个

要指定Field.FieldName='Item' ;
才显示内容出来
[解决办法]
执行DataSource.DataSet.OPen();时会自动创建字段的,但是已经有字段定义了就不会再创建字段了。
[解决办法]
5L是正解,解决方法
1 不自己创建动态字段,而用sql语句来实现
2 自己创建动态字段的同时把sql查询字段也一并创建
3 不使用动态字段,而是使用控件模拟dbgrid的cell宽高和位置

读书人网 >.NET

热点推荐