从其它平台迁移而来
DBGridEh
算是Delphi
中比较好用的第三方数据感知组件了,但其中有些小坑是真的有点小无语的。
场景
客户需要的有这样一组数据,大部分列是要求和的,用DBGridEh
的Footer
是轻松加愉快的;但是个别列是和每一行的计算方法一致的,用求和反倒是大错特错的,所以要求针对这些个别列按照给定的算法进行计算后显示在Footer
中。
坑
Footer
有个ValueType
和Value
属性,汇总类型是通过ValueType
设置的,习惯性的以为汇总值是通过Value
来读写的。
然而,事实并非如此!
对于求和列,DBGridEh1.Columns[i].Footer.Value
的值一直是''
空串,要想取得求和列的汇总值,正确的打开方式是DBGridEh1.GetFooterValue(0,DBGridEh1.Columns[i])
!这简直是反人类啊有木有!
后记
这是第二次踩这个坑了,记录下,给自己长点记性!事不过三!!
另外,公司使用的版本比较老,新版本可能没有这些问题了,不太清楚,暂时没空去求证。