Sometimes, the user needs to specify the absolute position of the pivot items. The Aspose.Cells API has exposed a few new properties and a method to achieve this requirement.
Added the PivotItem.Position property that can be used to specify the position index in all the PivotItems regardless of the parent node. Added the PivotItem.PositionInSameParentNode property that can be used to specify the position index in the PivotItems under the same parent node.
Added the PivotItem.Move(int count, bool isSameParent) method in order to move the item up or down based on the count value, where count is the number of positions to move the PivotItem. If the count value is less than zero, the item will be moved up, whereas if the count value is greater than zero, the PivotItem will move down. The Boolean isSameParent parameter specifies whether the moving operation has to be performed in the same parent node.
Obsoleted the PivotItem.Move(int count) method; therefore, it is suggested to use the newly added PivotItem.Move(int count, bool isSameParent) method instead.
The following sample code creates a Pivot Table and then specifies the Pivot Item positions in the same parent node. You can download the source Excel and output Excel files for your reference. If you open the output Excel file, you will see that the Pivot Item “4H12” is at the 0th position in parent “K11” and “DIF400” is at the 3rd position. Similarly, CA32 is at position 1 and AAA3 is at position 2.
Please note that it is necessary to call the PivotTable.RefreshData and PivotTable.CalculateData methods before using the PivotItem.Position, PivotItem.PositionInSameParentNode properties, and the PivotItem.Move(int count, bool isSameParent) method.