使用DexExpress PivotGridControl进行编辑

时间:2016-12-14 09:31:57

标签: .net winforms c#-4.0 devexpress pivot-grid

我有一个绑定到DataTable的PivotGridControl的WinForm。我希望允许用户更新数据表中的一个字段。

我已经想出了如何将编辑器与字段相关联。当用户单击单元格时,编辑器出现,用户编辑该值,然后按Enter键,我的EditValueChanged事件处理程序被调用,我可以保存值。

但问题在保存后出现问题。我的功能在不到一分钟的时间内完成,但有些过程没有完成,我的用户界面被绞死了50-60秒。

我怀疑透视网格在编辑完成后会做一些计算,可能会更新总/子总值。

我尝试关闭所有类型的总数,但没有运气。

在完成editvalueChanged事件的功能后,我的UI变得无法响应。

任何人都可以帮助我理解为什么网格花了那么多时间,我怎么能通过它。

void pivotGridControl_EditValueChanged(object sender, EditValueChangedEventArgs e) {
            PivotDrillDownDataSource ds = e.CreateDrillDownDataSource();
            for (int j = 0; j < ds.RowCount; j++) {
                ds[j][e.DataField] = Convert.ChangeType(e.Editor.EditValue, ds[j][e.DataField].GetType());
            }
        }

我正在使用Devex v14.1。

每当我在网格EditValueChanged事件中进行更改时触发。所以我们可以说我们一次在一个单元格中进行了更改,此事件将被触发一次,并且将是ds.rowCount = 1.

我的方法也在不到1秒的时间内完成。一旦方法完成,UI被挂起到50-60秒。我的解决方案中没有代码在50-60秒内执行。

我在网格中有大约300 MB的数据。

0 个答案:

没有答案