dbgrid是从 TCustomGrid继承来的吧?为什么我直接改变DBgrid的列数没有反映呢?
我现在想这么干,就是在DBGrid最左侧添加一列,里面画一个Combobox用来显示这行有没有被选中,谁知道怎么处理?谢谢啦 
分不多,100分 奉上

解决方案 »

  1.   

    我解决这样的问题都是用的笨办法,将你说的判断有没有被选中的那个列绑定到一个BOOLEAN的数据源上,保存时候再清为FALSE,然后用DBGRIDEH控件,因为DBGRIDEH控件在显示BOOLEAN值时以CHECKBOX的形式显示,所以就可以解决你上边的问题。
      

  2.   

    dbgrid是数据感知控件,必须要连数据库才能够操作。要操作某一列,该列必须连接一个在dataset中存在的字段。
      

  3.   

    设置dbgrid.defaultdrawing=false,然后在event:OnDrwaDataCell里面自己画,很麻烦,
    而且dbgrid可能满足不了你在左边增加一列的要求,除非你查询数据库时专门做一个字段,
    如:select  '' as field_extra,a,b from aa。
    其实你的要求可以用listview来满足,设listview.checkboxes:=true就可以在每行的最左边呈现出一个checkbox。你要作的只是遍历你查询的结果加入listview中
      

  4.   

    同意楼上的,虽然一些数据感知控件用起来方便,但要是修改它的源码,很麻烦而且外观也不是很好看。
    所以用listview比较好
      

  5.   

    dbgrid 的OnDrwaDataCell事件,网上很多或者dbgrideh 库里的布尔类型的字段自动显示为checkbox
    还要把对应列的checboxes的属性置为true