用户可以对多行记录可以选取,不要用第三方控件.知道的朋友指点下,谢谢

解决方案 »

  1.   

    画CHECKBOX上去,网上很多这个代码.如果没有这个列,你可以使用临时表,或多建一个表(比原表多一列(BIT)),操作时导入表.
      

  2.   

    画上去的,你代码的定义前加上这一句  TMyCustomDBGrid = class(TCustomDBGrid);
    以下代码添加到DBGridDrawColumnCell事件中  with TMyCustomDBGrid(Sender) do
      begin
        DefaultDrawColumnCell(Rect, DataCol, Column, State);    if (Column.ID = 1) then
        begin
          if ClientDataSetDBGrid.RecordCount > 0 then
          begin
            if (ClientDataSetDBGrid.FieldByName('Check').AsInteger = 1) then
              Canvas.StretchDraw(Rect, Image2.Picture.Graphic)
            else
              Canvas.StretchDraw(Rect, Image1.Picture.Graphic);
          end;
        end;
      end;
      

  3.   

    补充一点
    Image2
    Image1是两张图片,checkbox那样的小方框,一个打了勾,一个没有打勾
      

  4.   

    简单点吧,增加一个辅助字段,设为bool型,这就可以了,做完操作,update这个字段为false
      

  5.   

    bdmh:不行呀,能不能帮忙写个 demo 呀。我急用呀
      

  6.   

    to :sforiz谢谢你的代码,我试了下不是我要的结果。我要的是在dbgrid中前每一行第一列出现一个 “□” 复选框,
    用户可以在复选框中选择多行记录,然后我根据用户选择好的记录数保存到另一个表中。我之前是用 infopower这套控件的,用wwdbgrid一下子就可以解决这个问题的。但现在我用的是 delphi2006,没有infopower这套控件。
      

  7.   

    if Column.ID = 0 then
    就会画到最左边的一列中了
      

  8.   

    哪位朋友肯传份 infopower for delphi2010版的控件给我。 [email protected] 。急等用,谢谢了。