帮忙!

解决方案 »

  1.   

    在DBGRID里添加图片?加什么图片?多大?能显示出效果吗?http://218.56.11.178:8020/web/index.aspx-》下载基地-》例程-数据库/报表-》   数据库图片bmp/jpg存储(Accsee)/数据库存储bmp/jpg图片(sql server)不知是否你想要的?
      

  2.   

    估计你只能是在DrawDataCell事件里自己画了,为什么非用DBGRID呢,用TMS的TDBADVSTAINGGRID吧,它有很多东东的,完成你的任务,小菜了。
      

  3.   

    DBGRID里加图片
    那样字体反而看不清楚
    没必要追求这样的美观吧!
      

  4.   

    好像用DbgridEh,得到的图片效果还不错,可以找到这控件试试。
      

  5.   

    没必要吧,把图片存入SQL不就很好吗?
      

  6.   

    TStringGrid 好象可以加图片 
    你这样写 看行不行,TStringGrid(DBGrid1).Cells[0][0]='c:\1.bmp';
    没试!
      

  7.   

    好象不行,还是单独做一个加图片的DBIMAGEhttp://218.56.11.178:8020/web/index.aspx-》下载基地-》例程-数据库/报表-》数据库图片bmp/jpg存储(Accsee)
      

  8.   

    要显示的图片放在控件
    Image1: TImage;全局变量:
    selNo: integer;Table1的AfterScroll事件:
    procedure TForm1.Table1AfterScroll(DataSet: TDataSet);
    begin
      selNo := table1.RecNo;
    end;
    DBGrid1的DrawColumnCell事件:
    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var
      rr: TRect;
    begin
      with TDBGrid (Sender) do begin
        if DataSource.DataSet.RecNo mod 2 = 0 then    
          Canvas.Brush.Color := clLime
        else
          Canvas.Brush.Color := clRed;
        if DataSource.DataSet.RecNo = selNo then
          Canvas.Brush.Color := clBlue;
        DefaultDrawColumnCell(Rect, DataCol, Column, State);
        if DataCol = 0 then begin
          rr := Rect;
          rr.Right := rr.Right div 2;
          Canvas.StretchDraw(rr,Image1.Picture.Bitmap);
        end;//if
      end;//with
    end;
      

  9.   

    为什么非要在DBGRID中加图片呢?????
    佩服楼主的精神!
      

  10.   

    grid好象不行,加一个IMAGE巴
      

  11.   

    procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var
      Bitmap:TBitmap;
      p:TPoint;
    begin
      TDBGrid (Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
      if Column.FieldName='BMP' then
      begin
        try
         Bitmap:=TBitmap.Create;
         Bitmap.Assign(TDbGrid(Sender).DataSource.DataSet.FieldByName('BMP'));
         p:=Rect.TopLeft;
         ClientToScreen(p);
         TDbGrid(Sender).Canvas.StretchDraw(Rect,Bitmap);
        finally
         Bitmap.Free;
        end;
      end;
    end;
      

  12.   

    上面的那个有Bug,这一个好一些:给分吧。procedure TForm1.DBGrid1DrawColumnCell(Sender: TObject; const Rect: TRect;
      DataCol: Integer; Column: TColumn; State: TGridDrawState);
    var
      Picture:TPicture;
    begin
      TDBGrid (Sender).DefaultDrawColumnCell(Rect, DataCol, Column, State);
      if TDbGrid(Sender).DataSource.DataSet.Fields[DataCol].IsBlob then
      begin
        try
         Picture:=TPicture.Create;
         Picture.Assign(TDbGrid(Sender).DataSource.DataSet.Fields[DataCol]);
         TDbGrid(Sender).Canvas.StretchDraw(Rect,Picture.Graphic );
        finally
         Picture.Free;
        end;
      end;
    end;