Class PivotDataFields
Represents pivot table data fields collection.
Inheritance
Implements
Inherited Members
Namespace: Syncfusion.XlsIO.Implementation.PivotTables
Assembly: Syncfusion.XlsIO.Portable.dll
Syntax
public class PivotDataFields : CollectionBaseEx<PivotDataField>, IList<PivotDataField>, ICollection<PivotDataField>, IEnumerable<PivotDataField>, IEnumerable, IParentApplication, ICloneParent, IPivotDataFields
  Constructors
PivotDataFields(IApplication, Object)
Initializes new instance of pivot table data fields collection.
Declaration
public PivotDataFields(IApplication application, object parent)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IApplication | application | Application object for the new instance.  | 
      
| System.Object | parent | Parent object for the new instance.  | 
      
Properties
Item[String]
Gets a IPivotDataField with the specified name from the collection. Read-only.
Declaration
public IPivotDataField this[string name] { get; }
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.String | name | Pivot data field name  | 
      
Property Value
| Type | 
|---|
| IPivotDataField | 
Examples
The following code illustrates how to get the pivot table data field by data field name.
      using (ExcelEngine excelEngine = new ExcelEngine())
      {
        //Create a worksheet.        
        IApplication application = excelEngine.Excel;
        application.DefaultVersion = ExcelVersion.Excel2013;
        IWorkbook workbook = application.Workbooks.Create(2);
        IWorksheet sheet = workbook.Worksheets[0];
        IWorksheet pivotSheet = workbook.Worksheets[1];
        sheet.Range["A1"].Text = "Student ID";
        sheet.Range["B1"].Text = "Student Name";
        sheet.Range["C1"].Text = "Mark(Out of 100)";
        sheet.Range["D1"].Text = "Student City";
        sheet.Range["A1:D1"].AutofitColumns();
        sheet.Range["A2"].Number = 1;
        sheet.Range["A3"].Number = 2;
        sheet.Range["A4"].Number = 3;
        sheet.Range["A5"].Number = 4;
        sheet.Range["A6"].Number = 5;
        sheet.Range["B2"].Text = "Andrew";
        sheet.Range["B3"].Text = "Marson";
        sheet.Range["B4"].Text = "Jack";
        sheet.Range["B5"].Text = "Sam";
        sheet.Range["B6"].Text = "Breto";
        sheet.Range["C2"].Number = 77;
        sheet.Range["C3"].Number = 45;
        sheet.Range["C4"].Number = 92;
        sheet.Range["C5"].Number = 39;
        sheet.Range["C6"].Number = 55;
        sheet.Range["D2"].Text = "Chennai";
        sheet.Range["D3"].Text = "Bangalore";
        sheet.Range["D4"].Text = "Chennai";
        sheet.Range["D5"].Text = "Mysore";
        sheet.Range["D6"].Text = "Bangalore";
        IPivotCache cache = workbook.PivotCaches.Add(sheet["A1:D6"]);
        IPivotTable pivotTable = pivotSheet.PivotTables.Add("PivotTable1", pivotSheet["A1"], cache);  
        pivotTable.Fields[1].Axis = PivotAxisTypes.Row;
        pivotTable.Fields[3].Axis = PivotAxisTypes.Column;
        IPivotField datafield = pivotTable.Fields[2];
        pivotTable.DataFields.Add(datafield, "Sum of Marks", PivotSubtotalTypes.Sum);
        //Gets a pivot data field with the specified name from the collection
        IPivotDataField pivotDataField = pivotTable.DataFields["Sum of Marks"];
        pivotDataField.Name = "SUM Marks";
        pivotDataField.Subtotal = PivotSubtotalTypes.Average;
        pivotTable.BuiltInStyle = PivotBuiltInStyles.PivotStyleMedium20;
        workbook.SaveAs("PivotTables.xlsx");
        workbook.Close();
      }
  Methods
Add(IPivotField, String, PivotSubtotalTypes)
Adds a new data field to the PivotDataField collection.
Declaration
public IPivotDataField Add(IPivotField field, string name, PivotSubtotalTypes subtotal)
  Parameters
| Type | Name | Description | 
|---|---|---|
| IPivotField | field | The parent field to use.  | 
      
| System.String | name | The name for the new data field.  | 
      
| PivotSubtotalTypes | subtotal | The subtotal function for the new data field.  | 
      
Returns
| Type | Description | 
|---|---|
| IPivotDataField | Returns a pivot data field.  | 
      
Examples
Following code snippet illustrates how to add a pivot data field to the pivot table.
ExcelEngine excelEngine = new ExcelEngine();
IApplication application = excelEngine.Excel;
IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");
IWorksheet worksheet = workbook.Worksheets[0];
// Create Pivot cache with the given data range
IPivotCache cache = workbook.PivotCaches.Add(worksheet["A1:H50"]);  
//Create "PivotTable1" with the cache at the specified range
IPivotTable pivotTable = worksheet.PivotTables.Add("PivotTable1", worksheet["A1"], cache);
//Add Pivot table fields (Row and Column fields)
pivotTable.Fields[2].Axis = PivotAxisTypes.Row;
pivotTable.Fields[6].Axis = PivotAxisTypes.Row;
pivotTable.Fields[3].Axis = PivotAxisTypes.Column;
//Add data field
IPivotField field = pivotTable.Fields[5];
pivotTable.DataFields.Add(field, "Sum", PivotSubtotalTypes.Sum);
  Explicit Interface Implementations
IPivotDataFields.get_Item(Int32)
Declaration
IPivotDataField IPivotDataFields.get_Item(int index)
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | index | 
Returns
| Type | 
|---|
| IPivotDataField | 
IPivotDataFields.Item[Int32]
Gets a pivot data field with the specified index from the collection. Read-only.
Declaration
IPivotDataField IPivotDataFields.this[] { get; }
  Parameters
| Type | Name | Description | 
|---|---|---|
| System.Int32 | index | Zero-based index of the data field to return.  | 
      
Returns
| Type | 
|---|
| IPivotDataField |