GridAggregate does not show

It doesn't matter what I put in gridAggregate nothing shows in footer.

<SfGrid @ref="@GridPoDetail" TValue="vw_EFSupplierPODetail" ID="Grid" Query=@SupplierPODetailQry AllowSorting="true" AllowPaging="true" AllowExcelExport="true" AllowResizing="true">
                    <SfDataManager AdaptorInstance="@typeof(SupplierPoDetailsCustomAdaptor)" Adaptor="Adaptors.CustomAdaptor"></SfDataManager>
                    <GridPageSettings PageSize="15"></GridPageSettings>
                    <GridEditSettings AllowDeleting="true" AllowAdding="true" Mode="@EditMode.Normal"></GridEditSettings>
                    <GridEvents RowSelected="GetSelectedRecords" TValue="vw_EFSupplierPODetail"></GridEvents>
                    <GridAggregates> 
        <GridAggregate> 
            <GridAggregateColumns> 
                <GridAggregateColumn Field=@nameof(vw_EFSupplierPODetail.Qty) Type="AggregateType.Custom"> 
                    <FooterTemplate> 
                        @{ 
                            var aggregate = (context as AggregateTemplateContext); 
                            <div> 
                                <p>Weighted Aggregate: 1234   </p>  //here we have calculated two columns value and rendered in custom aggregate 
                            </div> 
                        } 
                    </FooterTemplate> 
                </GridAggregateColumn> 
            </GridAggregateColumns> 
        </GridAggregate> 
    </GridAggregates> 
                    <GridColumns>
                        <GridColumn Field=@nameof(vw_EFSupplierPODetail.PartsCostIndex) HeaderText="Index" ClipMode="@ClipMode.EllipsisWithTooltip" IsPrimaryKey="true" TextAlign="@Syncfusion.Blazor.Grids.TextAlign.Left" Width="140" Visible="false"></GridColumn>
                        <GridColumn Field=@nameof(vw_EFSupplierPODetail.Qty) HeaderText="Qty" ClipMode="@ClipMode.EllipsisWithTooltip" TextAlign="@Syncfusion.Blazor.Grids.TextAlign.Left" Width="50"></GridColumn>
                        <GridColumn Field=@nameof(vw_EFSupplierPODetail.PartNo) HeaderText="Part #" ClipMode="@ClipMode.EllipsisWithTooltip" TextAlign="@Syncfusion.Blazor.Grids.TextAlign.Left" Width="140"></GridColumn>
                        <GridColumn Field=@nameof(vw_EFSupplierPODetail.Description) HeaderText="Description" ClipMode="@ClipMode.EllipsisWithTooltip" TextAlign="@Syncfusion.Blazor.Grids.TextAlign.Left" Width="180"></GridColumn>
                        <GridColumn Field=@nameof(vw_EFSupplierPODetail.Units) HeaderText="Unit" ClipMode="@ClipMode.EllipsisWithTooltip" TextAlign="@Syncfusion.Blazor.Grids.TextAlign.Left" Width="50"></GridColumn>
                        <GridColumn Field=@nameof(vw_EFSupplierPODetail.Cost) HeaderText="Cost" ClipMode="@ClipMode.EllipsisWithTooltip" Format="C" TextAlign="@Syncfusion.Blazor.Grids.TextAlign.Left" Width="50"></GridColumn>
                        <GridColumn Field=@nameof(vw_EFSupplierPODetail.LineCost) HeaderText="LineCost" ClipMode="@ClipMode.EllipsisWithTooltip" Format="C" TextAlign="@Syncfusion.Blazor.Grids.TextAlign.Left" Width="60"></GridColumn>
                        <GridColumn Field=@nameof(vw_EFSupplierPODetail.Tax1RateDescription) HeaderText="Tax1" ClipMode="@ClipMode.EllipsisWithTooltip" TextAlign="@Syncfusion.Blazor.Grids.TextAlign.Left" Width="40"></GridColumn>
                        <GridColumn Field=@nameof(vw_EFSupplierPODetail.Tax2RateDescription) HeaderText="Tax2" ClipMode="@ClipMode.EllipsisWithTooltip" TextAlign="@Syncfusion.Blazor.Grids.TextAlign.Left" Width="40"></GridColumn>
                        <GridColumn Field=@nameof(vw_EFSupplierPODetail.Received) HeaderText="Received" ClipMode="@ClipMode.EllipsisWithTooltip" TextAlign="@Syncfusion.Blazor.Grids.TextAlign.Left" Width="40"></GridColumn>
                        <GridColumn Field=@nameof(vw_EFSupplierPODetail.Remaining) HeaderText="Remaining" ClipMode="@ClipMode.EllipsisWithTooltip" TextAlign="@Syncfusion.Blazor.Grids.TextAlign.Left" Width="40"></GridColumn>
                    </GridColumns>
                </SfGrid>

1 Reply 1 reply marked as answer

JP Jeevakanth Palaniappan Syncfusion Team April 23, 2021 05:42 AM UTC

Hi Dave, 

Greetings from Syncfusion support. 

We have validated your query and we suggest you to handle the aggregation in the Custom adaptor to show aggregation in the grid. Please refer the below code snippet and the sample. 

public override object Read(DataManagerRequest dm, string key = null) 
{ 
            IEnumerable<Order> DataSource = Orders; 
.. 
.. 
.. 
            DataResult DataObject = new DataResult(); 
            if (dm.Aggregates != null) // Aggregation 
            { 
                DataObject.Result = DataSource; 
                DataObject.Count = count; 
                DataObject.Aggregates = DataUtil.PerformAggregation(DataSource, dm.Aggregates); 
 
                return dm.RequiresCounts ? DataObject : (object)DataSource; 
            } 
            return dm.RequiresCounts ? new DataResult() { Result = DataSource, Count = count,  } : (object)DataSource; 
} 


Please get back to us is you have any other queries. 

Regards, 
Jeevakanth SP. 


Marked as answer
Loader.
Up arrow icon