【发布时间】:2015-09-28 16:59:09
【问题描述】:
我需要编辑数据透视表中显示的信息,但组件不允许我这样做。我将数据透视表绑定到 DataTable 对象,该对象使用 Npgsql 从数据库 (PostgreSQL) 填充。
这是填充DataSource 的行:
PivotGridControl1.DataSource = connection.getDataFromQuery("select * from fact");
方法getDataFromQuery 返回一个带有查询执行结果的DataTable。
然后我定义我的数据透视表的区域:
PivotGridField rowName = new PivotGridField ("item", FieldArea.RowArea);
PivotGridField columnField = new PivotGridField("name", FieldArea.ColumnArea);
PivotGridField dataField = new PivotGridField("amount", FieldArea.DataArea);
最后将它们添加到控件中:
PivotGridControl1.Fields.AddRange(new[] { rowName, columnField, dataField });
问题是我得到了我想要的数据透视表,但我无法编辑网格内的数据。
我用的是DevExpress 13.2版本,有点旧,可能需要更新,或者可能需要在组件中配置一些东西。有什么想法吗?
【问题讨论】:
-
DevExpress 对数据透视表的支持不多。您可以为数据透视表做的几乎唯一的事情就是设置数据源。然后 DevExpress PivotTable 将在之后重新计算所有内容。如果我没记错的话,数据透视表的数据源甚至不是依赖属性。我可以想象即使更改一个单元格也需要再次刷新 who DataSource。
-
嗨@cscmh99,问题是文档中说您可以简单地编辑任何单元格,我正在尝试,但我无法编辑,但可能是指较新的版本?请查看here
-
数据透视表中的单元格是数据的聚合,例如订单总和。更新值没有任何意义,因为您无法在聚合数据上传播更新。使用 gridview 更新基础表
-
@HubertL 这是一个很好的观点。但是为什么文档说this 是可能的?我现在很困惑
-
你说得对,这很令人困惑......也许如果聚合运算符是 max 或 min 或者如果没有聚合。你可以发一张票,我一直发现 DevExpress 支持非常及时地回复
标签: c# wpf postgresql devexpress pivot-table