大家好,我的DBGridEh使用动态数据计,在数据集Open后,设置如下:          DBGridEh1.Columns[i].FieldName:=adsSC_Tmp.Fields[i].FieldName;
          If DM1.adsSC_Tmp.Fields[i].FieldName = '钱包金额' Then
          Begin
             DBGridEh1.Columns[i].Footer.ValueType:=fvtsum;
             DBGridEh1.Columns[i].Footer.FieldName:= '钱包金额';
          End其中DBGridEh的其它属性,sumlist已经在控件中设置完成 ,置Active = True但计算的结果为零

解决方案 »

  1.   

    这样做有点不好。如果数据量大的情况下很慢 ,建议使用C/S模式 !
    将DBGridEh1.Columns[i].Footer.ValueType:=static Text 
    设置成静态文本型,之后用SQL语句写 !
    这个需要你的ADO控件做相应的设置 !
    你会发现你的打开速度会很快的!
    尤其是数据量大的情况下!
    可能和你的问题有点不符  !
    不好意思 !
    至于你上面的问题 建议你先不用动态试试 !
    我感觉你这里好像写错了 
    DM1.adsSC_Tmp.Fields[i].FieldName =  '钱包金额 '(好像有个空格 !)
      

  2.   

    可能你在数据库中使用了非数字的类型
    所以DBGridEh不能汇总