How to change default aggregates in Blazor Pivot Table?

Answer:

We can change default aggregates in Pivot Table by using “EnginePopulating” event.

@using Syncfusion.Blazor.PivotView

<SfPivotView@ref="PivotObj"TValue="ProductDetails"Height="100%"Width="700"ShowGroupingBar="true"ShowFieldList="true">

<PivotViewDataSourceSettingsDataSource="@Data"EnableSorting=true>

<PivotViewColumns>

<PivotViewColumnName="Year">PivotViewColumn>

<PivotViewColumnName="Quarter">PivotViewColumn>

PivotViewColumns>

<PivotViewRows>

<PivotViewRowName="Country">PivotViewRow>

<PivotViewRowName="Products">PivotViewRow>

PivotViewRows>

<PivotViewValues>

<PivotViewValueName="Sold"Caption="Units Sold">PivotViewValue>

PivotViewValues>

<PivotViewFormatSettings>

<PivotViewFormatSettingName="Amount"Format="C0"UseGrouping=true>PivotViewFormatSetting>

PivotViewFormatSettings>

PivotViewDataSourceSettings>

<PivotViewGridSettingsColumnWidth="140">PivotViewGridSettings>

<PivotViewEventsTValue="ProductDetails"EnginePopulating="@Engine_Populating">PivotViewEvents>

SfPivotView>

<style>

.e-pivotview{

min-height:200px;

}

style>

@code{

SfPivotView<ProductDetails>PivotObj;

public List<ProductDetails>Data { get; set; }

static ProductDetails Pivot = new ProductDetails();

protected override void OnInitialized()

{

this.Data = Pivot.GetProductData();

}

private void Engine_Populating(EnginePopulatingEventArgs args)

{

for(var i = 0; i < args.DataSourceSettings.Values.Count; i++)

{

//here you can change the aggreagte type based on the value field on selecting value in value

if (args.DataSourceSettings.Values[i].Name == "In_Stock")

{

args.DataSourceSettings.Values[i].Type = SummaryTypes.DistinctCount;

}

if (args.DataSourceSettings.Values[i].Name == "Amount")

{

args.DataSourceSettings.Values[i].Type = SummaryTypes.Product;

}

}

}

}



Loader.
Up arrow icon