我现在在做毕业设计,急需解决该问题,恳请各位delphi高手提供帮助,谢谢!
   1,在DBgrid中单元格内是否可以加入小的图标?如果可以,怎样加?
   2,在DBgrid中可否对某条字段的各个单元格进行赋值操作?如果可以,如何操作?
   3,原来DBgrid显示了数据库里的数据,可用了DBgrid.coloumns.add函数后原来的数据全被覆盖了,如何才能不被覆盖?
   谢谢各位大虾!

解决方案 »

  1.   

    你在数据集当中(table,query等)添加计算字段就可以了
      

  2.   

    建议:不要使用dbGrid,如果使用,仅仅显示的话,使用devEx控件组中的Grid。
    建议:能不使用Grid尽量不要使用Grid,哪怕多几个界面。比如添加,按下的时候显示一个界面进行添加,修改,按下的时候显示一个界面进行修改。然后dbGrid使用ListView来替代。
    我已经把dbGrid控件从我的编程控件中扔了。
      

  3.   

    这是在StringGrid中的例子,当点击cell时会出现一个Comboboxprocedure TForm1.StringGrid1SelectCell(Sender: TObject; ACol,
      ARow: Integer; var CanSelect: Boolean);
    var
        i:integer;
        x,y:integer;
    begin
    x:=self.StringGrid1.ClientOrigin.x -form1.ClientOrigin.x  ;
    y:=self.StringGrid1.ClientOrigin.y - form1.ClientOrigin.y ;testcombo.Font.Size := self.StringGrid1.RowHeights[ARow] div 2;for i:=0 to ACol-1 do
        begin
        x:=x+self.StringGrid1.ColWidths[i]+self.StringGrid1.GridLineWidth ;
        end;
    //    x:=x - self.StringGrid1.GridLineWidth ;
    for i:=0 to ARow-1 do
        y:=y+self.StringGrid1.RowHeights[i]+self.StringGrid1.GridLineWidth ;
    //    y:=y - self.StringGrid1.GridLineWidth ;  testcombo.parent:=SELF;  testcombo.left:=x;
      testcombo.top:=y;
      testcombo.width:=self.StringGrid1.ColWidths[ACol]+4;
      testcombo.Height:=self.StringGrid1.RowHeights[ARow];
      testcombo.font:=stringgrid1.font;
      testcombo.Font.Size := self.StringGrid1.RowHeights[ARow] div 2;
      testcombo.Items.Clear;
      for i:= 1 to ARow*ACol do
        testcombo.Items.Add(inttostr(i));
      testcombo.ItemIndex := testcombo.Items.Count -1;end;
      

  4.   

    为什么不用它呢?dbgrid有什么不好的吗?
    可以详细说说吗?
      

  5.   

    各位大虾我也曾考虑用stringgrid或drawgrid,但用它们是同样遇到1个问题:最左边的那一列标题栏无法去掉,很影响界面设计。
      

  6.   

    加小图标的问题可以参考《Delphi5从入门到精通》(Master Delphi5)
      

  7.   

    1、没做过,不过listview可实现,界面也相对美观一些。
    2、我不是很明白你说的意思。
    3、如果你要自己设column,必须把要显示的栏都设一遍。
      

  8.   

    要实现 你这样的功能最好不要用DBgrid!别的,如wwDBgrid
      

  9.   

    各位大虾我也曾考虑用stringgrid或drawgrid,但用它们是同样遇到1个问题:最左边的那一列标题栏无法去掉,很影响界面设计。
    ----------------------------------------------------------
    最左边的那一列只要设置属性就可以去掉,一般的grid都可以
    将“fixedCols”设为0就可以了
      

  10.   

    相应的,最上面的那一条暗的也可以修改“fixedRows”
      

  11.   

    谢谢各位,我也已经开始采用了stringgrid了。