Answer:
@using Syncfusion.Blazor.PivotView @using Newtonsoft.Json @using Pivot_Reset @using Syncfusion.Blazor.Buttons <SfButton OnClick="reset">ResetSfButton> <SfPivotView @ref="pivotObj" TValue="ProductDetails" Height="340" Width="700" ShowFieldList="true" ShowGroupingBar="true"> <PivotViewDataSourceSettings DataSource="@data" EnableSorting=true> <PivotViewColumns> <PivotViewColumn Name="Year">PivotViewColumn> <PivotViewColumn Name="Quarter">PivotViewColumn> PivotViewColumns> <PivotViewRows> <PivotViewRow Name="Country">PivotViewRow> <PivotViewRow Name="Products">PivotViewRow> PivotViewRows> <PivotViewValues> <PivotViewValue Name="Sold" Caption="Units Sold">PivotViewValue> PivotViewValues> <PivotViewFormatSettings> <PivotViewFormatSetting Name="Amount" Format="@format" UseGrouping=true>PivotViewFormatSetting> PivotViewFormatSettings> PivotViewDataSourceSettings> <PivotViewGridSettings ColumnWidth="140">PivotViewGridSettings> <PivotViewEvents TValue="ProductDetails" EnginePopulating="enginepopulating">PivotViewEvents> SfPivotView> <style> .e-pivotview { min-height: 200px; } style> @code{ SfPivotView public string pivotString; public string format = "C"; public bool resetPivot = false; public List static ProductDetails pivot = new ProductDetails(); protected override void OnInitialized() { this.data = pivot.GetProductData(); } public void enginepopulating(EnginePopulatingEventArgs args) { if (args.DataSourceSettings != null && resetPivot) { // here we have reset the rows, values, columns and filters args.DataSourceSettings.Values = new List args.DataSourceSettings.Columns = new List args.DataSourceSettings.Rows = new List args.DataSourceSettings.Filters = new List resetPivot = false; } } public async void reset(Microsoft.AspNetCore.Components.Web.MouseEventArgs args) { this.pivotString = await this.pivotObj.GetPersistData(); this.resetPivot = true; this.pivotObj.LoadPersistData(this.pivotString); } } |
Find the sample for reset Blazor Pivot Table Values from here.