我用VC查询出来一个结果集,然后把这些由行和列组成的二唯数据动态的一个个绑定到DBGrid中,而我用SetCol(int)来设置行数为什么不好使呢!
老是说什么索引超出界限!DBGrid默认的是两行两列,我用SetCol(int)只要超过2就出错!
为什么这个函数不能自己动态的根据所查询的数据的列数而自己增加呢!·

解决方案 »

  1.   

    SetCol(int)来设置好像不能直接加你要设置的行数
    而要一行一行的加
    比如:
    SetCol(1)  接着加入这一行
    SetCol(2)  加入第二行
    依此类推::试一试吧:)
      

  2.   

    调用SetCol(1)后,要再调用Refresh()使其有效!
      

  3.   

    你默认是两行,它是从0算起的,那么你setcol(int)中的参数最大为1
    你setcol(2)当然报错咯!setcol(int)函数就是设置选择哪一列,不会动态
    增加列数
      

  4.   

    一般你查询的内容有几列,DBGride就自动分配几列,当查询内容改变时,你要调用Refresh()使它更新!
      

  5.   

    应该用SetCols和SetRows来设置行数和列数
      

  6.   

    DBGride
    这么说如果我想动态的将一个结构体数组中的数放到这个上就不能用这个控件吗