我有一个DevExpress的TcxGrid,与连接到它的GridView的OnEditValueChanged事件的事件处理程序,是应该在一列总结了一些数据。问题是,这一事件得到验证期间解雇,之前更新的值写入到基础数据集。我不是太熟悉的TcxGrid。有谁知道,如果有触发事件处理方式的之后的数据集已经更新?

有帮助吗?

解决方案

什么有关使用DataSource.OnDataChange事件?

其他提示

我不知道这是否是你所需要的东西,但我发现网格的ImmediatePost选项是,我需要更新汇总的情况下非常有用 - 它埋在cxView其数据控制器性能下。这使得像一个电子表格中的网格行为 - 只要用户按下回车或在电池标签,记录被公布。然后,我有我总结的事件火从数据集的AfterPost事件,也许?

如果你的总结如此 -

(您可能已经知道这一点,但在GridView本身有很多的内置到它是非常有用的总结选项 - 查看列的总结性,并确保ShowFooter设置为true在ViewOptions是一个相对简单的总平均数或类似的,让电网做这一切,并保存自己的一些工作。)

你使用的cxGrid的cxTableView或cxDBTableView

如果您使用cxDBTableView那么你在cxDBTableView的财产链接数据源的datasource.onchange设置你的事件。 (cxDBTableView .datacontroller.datasource)

我会去与skamradt:更仔细地寻找符合你的期望的事件

另外,你可以让后插上的事件确保您的数据初始化:

 procedure TMyGrid.MyProc_OnDataLoaded( Sender : TObject ); //I made up this event, I'm not sure it exists
 begin
   Self.OnEditValueChanged := MyProc_OnEditValueChanged;
 end;

我会强烈建议你不要用这个作为一个普通的深化发展习惯中(制作组通过代码另一个回调是肯定的方式来调试地狱的事件),但如果你真的没有找到任何其他方式来做到这一点。 ..

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top