Field := TBooleanField.Create(self);
Field.DataSet := DataSource.DataSet;DataSource.DataSet.OPen();//如Sql语句为'select Item,test form table1'然后dbGRID就只显示是了Field这个动态添加的字段,而Sql语句中的字段(Item,test栏位)却没有显示出来这是怎么回事呢?

解决方案 »

  1.   

    是因为你DBGrid里面固定添加了某些字段,右键,Columns Editor,把里面东西全部删除就动态显示了。你DataSet里面有哪些字段就是哪些。
      

  2.   

    没用手动创建静态字段呀,,,?这是怎么回事呢?Columns Editor里是没有字段的
      

  3.   

    动态添加实际上就像在Columns Editor中添加
    因为你只添加一个,所以就只显示一个要指定Field.FieldName='Item' ;
    才显示内容出来
      

  4.   

    这些我都指定了哦,,我上面只是简单写了些,现在的问题是动态添加的字段显示了而SQL语句中的字段则没有显示出来
      

  5.   

    执行DataSource.DataSet.OPen();时会自动创建字段的,但是已经有字段定义了就不会再创建字段了。
      

  6.   

    5L是正解,解决方法
    1 不自己创建动态字段,而用sql语句来实现
    2 自己创建动态字段的同时把sql查询字段也一并创建
    3 不使用动态字段,而是使用控件模拟dbgrid的cell宽高和位置
      

  7.   

    看来这个问题不好解决呀,因为目前是三层的程序,
    在这个DATASET中是没连接CONNECTION的
    是执行SQL语句来查询数据。
    难处理,,,