使用DevExpress XtraGrid 16.2进行分组和聚合。
我想要做的是按任意列分组,然后一些数字列将显示组行中的总数。
我为XtraGrid数据源定制了BindingList<T>
,其中T只是POCO对象。
当我创建需要显示摘要的GridColumn时,我随后为该列创建GridSummaryItem。
我的摘要显示在组行中:
gridView.OptionsBehavior.AlignGroupSummaryInGroupRow = DefaultBoolean.True;
市场数据Feed会频繁更新BindingList<T>
(每5秒钟),然后BindingList<T>
点火OnListChnaged
。
当我有300个项目并且网格按一列打开并且市场数据打开时,滞后很小并且组摘要重新计算没有问题。
当我有1500个项目时,XtraGrid会阻止UI线程并锁定整个应用程序。
我使用了性能分析器dotTrace 2016.1.2,当DoTypedSum
被触发时,看起来DevExpress XtraGrid会触发OnListChanged
,并且每次BindingList<T>
更新时都会重新计算每个组行的摘要。< / p>
我已经联系了DevExpress支持,他们告诉我,我必须自己计算摘要然后绘制它们,但这不是他们的功能的全部要点吗?
有没有人遇到过这个问题,并且有解决方案可以加快性能。