若要更改数据透视表的数据源,请使用 PivotTable.ChangeDataSource 方法重载。您可以更新数据透视表以反映初始源范围的变化(例如,如果数据透视表被新行或列扩展,或者删除了现有记录或字段),或者基于完全不同的单元格区域重新生成报表,如下例所示。在后一种情况下,您应该重新创建数据透视表,并通过向其添加必要的字段来填充新数据。
Vb.Net |
Dim worksheet As DevExpress.Spreadsheet.Worksheet = workbook.Worksheets("Report1") workbook.Worksheets.ActiveWorksheet = worksheet '按数据透视表在集合中的名称访问数据透视表。 Dim pivotTable As DevExpress.Spreadsheet.PivotTable = worksheet.PivotTables("PivotTable1") Dim sourceWorksheet As DevExpress.Spreadsheet.Worksheet = workbook.Worksheets("Data2") '更改数据透视表的数据源。 pivotTable.ChangeDataSource(sourceWorksheet("A1:H6367")) '将“State”字段添加到行轴区域。 pivotTable.RowFields.Add(pivotTable.Fields("State")) '将“Yearly Earnings”字段添加到数据区域。 Dim dataField As DevExpress.Spreadsheet.PivotDataField = pivotTable.DataFields.Add(pivotTable.Fields("Yearly Earnings")) '计算每个州的“Yearly Earnings”值的平均值。 dataField.SummarizeValuesBy = DevExpress.Spreadsheet.PivotDataConsolidationFunction.Average |
C# |
DevExpress.Spreadsheet.Worksheet worksheet = workbook.Worksheets["Report1"]; workbook.Worksheets.ActiveWorksheet = worksheet; // 按数据透视表在集合中的名称访问数据透视表。 DevExpress.Spreadsheet.PivotTable pivotTable = worksheet.PivotTables["PivotTable1"]; DevExpress.Spreadsheet.Worksheet sourceWorksheet = workbook.Worksheets["Data2"]; // 更改数据透视表的数据源。 pivotTable.ChangeDataSource(sourceWorksheet["A1:H6367"]); // 将“State”字段添加到行轴区域。 pivotTable.RowFields.Add(pivotTable.Fields["State"]); // 将“Yearly Earnings”字段添加到数据区域。 DevExpress.Spreadsheet.PivotDataField dataField = pivotTable.DataFields.Add(pivotTable.Fields["Yearly Earnings"]); // 计算每个州的“Yearly Earnings”值的平均值。 dataField.SummarizeValuesBy = DevExpress.Spreadsheet.PivotDataConsolidationFunction.Average; |