Good afternoon. I am trying to export Datagrid to PDF. and when exported I want to display the Sub TotalAmount instead of Sum.
<SfGrid ID="Grid" @ref="DefaultGrid" DataSource="@Orders" AllowGrouping="true" Toolbar="@(new List<string>() { "PdfExport" })" AllowPdfExport="true">
<GridGroupSettings Columns="@Initial"></GridGroupSettings>
<GridEvents OnToolbarClick="ToolbarClickHandler" PdfAggregateTemplateInfo="AggregateTemplate" TValue="Order"></GridEvents>
<GridAggregates>
<GridAggregate>
<GridAggregateColumns>
<GroupCaptionTemplate>
@{
var aggregate = (context as AggregateTemplateContext);
<div>
<p>TotalAmount: @aggregate.Sum</p>
</div>
}
</GroupCaptionTemplate>
</GridAggregateColumn>
</GridAggregateColumns>
</GridAggregate>
</GridAggregates>
<GridColumns>
<GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" TextAlign="TextAlign.Right" Width="120"></GridColumn>
<GridColumn Field=@nameof(Order.OrderDate) HeaderText=" Order Date" Format="d" Type="ColumnType.Date" TextAlign="TextAlign.Right" Width="130"></GridColumn>
<GridColumn Field=@nameof(Order.Freight) HeaderText="Freight" Format="C2" TextAlign="TextAlign.Right" Width="120"></GridColumn>
</GridColumns>
</SfGrid>
@code{
private SfGrid<Order> DefaultGrid;
public List<Order> Orders { get; set; }
public void AggregateTemplate(PdfAggregateEventArgs Args)
{
if (Args.Column.Field == "Freight")
{
Args.Cell.Value = "TotalAmount: "+ Args.Cell.Value;
}
}
public async Task ToolbarClickHandler(Syncfusion.Blazor.Navigations.ClickEventArgs args)
{
if (args.Item.Id == "Grid_pdfexport") //Id is combination of Grid's ID and itemname
{
await this.DefaultGrid.PdfExport();
}
}
|