发表时间:2006-9-14 23:55:15
正在做一个软件,需求是在gridcontrol中输入每个单据的数据,但每当新单据产生时,表底下的求和总是继续原来的,不是即时刷新.也就是说每当gridview的datasource发生变化时,这个totalsummary就不能正常刷新了.
想了许多办法,查了许多资料,用customsummarycalcute自定义也不行,估计是gridview没有即时刷新的问题.但没有想到的是最后的解决居然有些不合常理.因为看了很多文档,同时联想到最后点右键菜单选max 后再点sum时能刷新,依此进行解决.
就是在需要刷新地方加入:
colssts1.SummaryItem.SummaryType := devexpress.Data.SummaryItemType.max;
colssts1.SummaryItem.SummaryType := devexpress.Data.SummaryItemType.sum;
gridview2.UpdateTotalSummary;
再编写一个当单元格内容被修改后再刷新的事件
procedure formkhbuy.gridCellValueChanged(sender: tobject;
e: cellvaluechangedeventargs);
begin
colssts1.SummaryItem.SummaryType := devexpress.Data.SummaryItemType.max;
colssts1.SummaryItem.SummaryType := devexpress.Data.SummaryItemType.sum;
gridview2.UpdateTotalSummary;
end;
最后将girdview与该事件联系起来
include(self.GridView2.CellValueChanged,gridcellvaluechanged);
大功告成.