用ADOQuery连数据表,DBGridEh1显示数据,
在设计时未指定DBGridEh1 (即未设定定DBGridEh1的列数)的
  DBGridEh1.SumList.Active:=True;
  DBGridEh1.FooterRowCount:=2;
  DBGridEh1.SumList.Active:=True;运行时才设://底部汇总区
  DBGridEh1.FooterRowCount:=2;
  DBGridEh1.SumList.Active:=True;  DBGrideh1.Columns[0].Footers[0].ValueType:=fvtStaticText;
  DBGrideh1.Columns[0].Footers[0].Value:='合计:';会出现错误提示:
List index out of bounds(0)
如何解决?请帮忙,多谢!

解决方案 »

  1.   

    因为你的Footers里边还没有值,所以会报错,可以这样:
      with dbgrideh1.Columns.Items[0].Footers.add do
      begin
        ValueType:=fvtStaticText;
        Value:='合计' ;
      end;
      

  2.   

    DBGridEh2.FooterRowCount:=2; //底部两行
      DBGridEh2.Columns[0].Footers.Add; //要加第一行
      DBGridEh2.Columns[0].Footers[0].Font.Color:=clWindow;//字体颜色
      DBGridEh2.Columns[0].Footers[0].Color:=clTeal; //背景色
      DBGridEh2.Columns[0].Footers[0].ValueType:=fvtStaticText;//fvtSum; FvtCount; fvtFieldValue
      DBGridEh2.Columns[0].Footers[0].Value:='总和';
      DBGridEh2.Columns[0].Footers.Add; //要加第二行
      DBGridEh2.Columns[0].Footers[1].Font.Color:=clWindow;//字体颜色
      DBGridEh2.Columns[0].Footers[1].Color:=clTeal; //背景色
      DBGridEh2.Columns[0].Footers[1].ValueType:=fvtSum;//fvtStaticText; FvtCount; fvtFieldValue  DBGridEh2.SumList.Active:=True; //激活列求和