目前,由于做一个多媒体的东东,要用到在dbgrid中的某一列中显示复选框。我想到了对于dbgrid中的columns下有个buttonstyle。可是这里只可实现一个下拉框。以及一个按钮,不是想得到的结果。目前,我正在看bdgrid.pas.是否要改bloand源码实现呢。还是有第三方控件呢。还是有其它方法。望好手们给个门路。我去实现它。

解决方案 »

  1.   

    procedure TDbaForm.DBGrid1DrawColumnCell(Sender: TObject;
      const Rect: TRect; DataCol: Integer; Column: TColumn;
      State: TGridDrawState);
    begin
      if (gdFocused in State) and
        (Column.Field = Table1Senior) then
      begin
        DBCheckBox1.SetBounds (
          Rect.Left + DBGrid1.Left + 1,
          Rect.Top + DBGrid1.Top + 1,
          Rect.Right - Rect.Left,
          Rect.Bottom - Rect.Top);
      end;
    end;
      

  2.   

    多谢WWWWA(aaaa) 这样有一个问题就是,有多行的话。难道要回多个dbcheckbox?行一定是多个的。所以如果有您这种方法的话,就要动态建立多个checkbox.不过方法是可行的。但,不是最好的。现在我再试一试控件的方法。
      

  3.   

    屏蔽掉dbgrid控件上的某个字段,然后拖一个DBCombobox控件覆盖屏蔽掉的那个就可以了。