DBGRID的一列求和怎么做?DBGRID数据连接DATASOURSE,应该怎么处理呢?
还有DBGRID的数据怎么打印出来呢?

解决方案 »

  1.   

    1、求DBGrid某列的和
    function GetSumValue(const DBGrid: TDBGrid): double;
    var
      i: integer;
      ds : TDataSet;
      bookMark: TBookMark;
    begin
      reslt := 0;
      ds  := DBGrid.DataSource.DataSet;
      bookMark := ds.GetBookMark;
      ds.DisableControl;
      ds.First;
      for i:=1 to ds.RecordCount do
      begin
        reslt := reslt+ds.FieldByName(合计列字段名称).AsFloat;
        ds.Next;
      end;
      ds.GotoBook(bookMark);
      ds.FreeBookMark(bookMark);
      ds.EnableControls;
    end;2、打印DBGrid可以用QuickReport或者打印窗体等方法。
      

  2.   

    或者用第三方控件
    dbgrideh或dxgrid
      

  3.   

    reslt := 0;应该用什么型呢?还有我DBGRID出来的数据都没有小数和负数是为什么?
      

  4.   

    A: reslt := 0;应该用什么型呢?
    Q: function GetSumValue(const DBGrid: TDBGrid): double; 
       result就是函数的返回值,其类型和函数类型一致.楼主应该多看些基础方面资料,功底扎实,才能知其然并知其所以然.A: 另外,DBGRID出来的数据都没有小数和负数是为什么?
    Q: 检查一下你的数据,然后再问为什么.