我的程序中要用到dbgrideh的统计功能,就是在footer中显示信息的那个功能。我已经在设计阶段实现了。但问题是设计阶段要用到column editor添加列,然后设置列的footer,可是在运行阶段怎么用column editor添加列?我试过省去这一步,结果是footer里面没有东西,这么办?

解决方案 »

  1.   

    把我的一段代码给你:  for i := Columns.Count-9 to  Columns.Count-5 do
      begin
        if Columns[i].Footers.Count<=2 then
        begin
          Columns[i].Footers.Add;
          Columns[i].Footers.Items[0].ValueType := fvtStaticText;
          Columns[i].Footers.Items[0].Value := '本列计数';
          Columns[i].Footers.Add;
          Columns[i].Footers.Items[1].ValueType := fvtCount;
        end;
        if Columns[i].FieldName='容量' then
        begin
          Columns[i].Footers.Items[0].Value := '容量合计';
          Columns[i].Footers.Items[1].ValueType := fvtSum;
        end;
      

  2.   

    dbgrideh1.sumlist.active:=false;
    dbgrideh1.sumlist.active:=true;
    对footer合计的更新
      

  3.   

    dbgrideh1.Columns.add;添加列
    合计象上面说的
      

  4.   

    加入列应该不难:省去.
    添加TDBSumList控件:
     with EhDBGrid do
      begin
        Columns[0].Footer.ValueType:=fvtStaticText;
        Columns[0].Footer.Value:='合计:';
        for iCount:=1  to Columns.Count-1 do
        begin
          case Columns[iCount].Field.DataType of
          ftSmallint,ftInteger,ftFloat,ftCurrency,ftBCD:
             Columns[iCount].Footer.ValueType:=fvtsum;
          end;
        end;
        SumList.Active:=True;
      end;