在DBGRID中如何使第一列在双击后显示对号√
 选择   礼品代码       礼品名称
-----  -------------  ----------------------- 
       001            毛巾
       002            口杯
       003            洗衣液================================就是在双击某一行时,“选择”这个栏里加个对号,作用是批量选择,批量添加的功能。
注:选择这个字段在数据库里没有,只是一个临时字段,计算字段。

解决方案 »

  1.   

    加一个TQuery SQL=“select 选择  礼品代码      礼品名称 from 礼品表”将cacheupdates设为true
    使用applyupdates进行最终的数据提交。
      

  2.   

    换控件。推荐一款 Dev Express 的cxGrid 。
      

  3.   

    ImgList1.Draw(dbgrd1.Canvas, Rect.Left, Rect.Top, 0, true)
      

  4.   

    dbgrd1.Canvas.Draw(Rect.Left, Rect.Top, img1.Picture.Bitmap);Image√里面放个图
      

  5.   

    procedure TForm2.dbgrd1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    begin
      if Column.Index = 0 then
      begin
        dbgrd1.Canvas.FillRect(Rect);
    //  ImgList1.Draw(dbgrd1.Canvas, Rect.Left, Rect.Top, 0, true);
        dbgrd1.Canvas.Draw(Rect.Left, Rect.Top, img1.Picture.Bitmap);
        dbgrd1.Canvas.TextOut(Rect.Left + 20, Rect.Top, Column.Field.DisplayText);
      end;
    end;
      

  6.   

    可以自己画,也可以用第三方的控件,比如dbgrideh,将第一列的数据类型设置为boolean,选中的自然就是显示一个对号了
    或者你可以用listview,设置checked属性为true,这样,你需要自己绑定数据到listview上