DataGrid Group Header using Virtualization

I am using the DataGrid in which i have added Group Header so when i try to use Virtualization then the data is coming in the grid but when AllowVirtualization="false" then the data is getting dispalyed.

Can anybody tell me why is it happening

For reference below is the Code.

<RadzenDataGrid @ref="grid0" ColumnWidth="200px" LoadData="Grid0LoadData" FilterMode="FilterMode.Simple" AllowFiltering="true" AllowPaging="false" AllowSorting="true" ShowPagingSummary="false" Data="@poDetailCollectionpoDetailCollectionpoDetailCollectionpoDetailCollection" Filte@fi@filterCaseSensitivityterCaseSensitivityCaseSensitivity="@filterCaseSensitfilterCaseSensitfilterCaseSensitfilterCaseSensit@countvity" style=@countheight: calc(1@EditRowoDe@countail0vh - 2@count0px); " Count="@count" TItem@EditRow"@EditRowoDetailR@EditRowoDetailDemo.Models.ErpWise.@EditRowoDetail@EditRow AllowCo@EditRowumnResize=true Ro@OnRenderSelect="@EditRow" Allow@OnRender@OnRenderrtualiz@OnRendertion="true" AllowGrouping="true" Render="@OnRender" GroupRowRender="OnGroupRowRender">

@{ var items = context.Data.Items.Cast().ToList(); var first = items.FirstOrDefault(); var po = first?.PoMast; }
<div style="display:flex; justify-content:space-between; width:100%">
    <div>
        <b>PO No:</b> @po?.PoNo
        <span style="margin-left:15px">
            <b>Date:</b> @po?.PoDate.ToString("dd/MM/yyyy")
        </span>
        <span style="margin-left:15px">
            <b>Status:</b>
            @parameterCollection.FirstOrDefault(p =>
            p.ParaType == "STAT" && p.ParaCode == po?.Status)?.Description
        </span>
    </div>

    <div>
        <b>Items:</b> @items.Count |
        <b>Qty:</b> @items.Sum(x => x.Qty) |
        <b>Amount:</b> @items.Sum(x => x.BasicValue)
    </div>
</div>
 <RadzenDataGridColumn TItem="ERPDemo.Models.ErpWise.PoDetail" Property="PoMast.Status" Title="Status" Width="120px">
     <Template Context="data">
         @parameterCollection.FirstOrDefault(p => p.ParaType == "STAT" && p.ParaCode == data.PoMast.Status)?.Description
     </Template>
     <FilterValueTemplate>
         <ERPDemo.Client.Pages.Components.ParameterComponent ParaType="STAT"
                                                             @bind-ParaCode="@IsStatus"
                                                             Change="@(async (args) => { await grid0.Reload(); })"
                                                             Caption="Status" />
     </FilterValueTemplate>
 </RadzenDataGridColumn>
 <RadzenDataGridColumn TItem="ERPDemo.Models.ErpWise.PoDetail" Property="Category" Title="Category" Width="80px">
 </RadzenDataGridColumn>
 <RadzenDataGridColumn TItem="ERPDemo.Models.ErpWise.PoDetail" Property="PONo" Title="PoNo" Width="150px">
 </RadzenDataGridColumn>
</Columns>
</RadzenDataGrid>

@code{

bool? groupsExpanded = true;

protected async Task Grid0LoadData(LoadDataArgs args)
{
try
{
string orderBy = !string.IsNullOrEmpty(args.OrderBy) ? args.OrderBy : "POId desc"; var filters = new List(); if (!string.IsNullOrEmpty(args.Filter)) filters.Add(args.Filter); if (!string.IsNullOrEmpty(IsStatus)) filters.Add($"PoMast/Status eq '{IsStatus}'"); string finalFilter = string.Join(" and ", filters);
var result = await ErpWiseService.GetPoDetail( filter: finalFilter, orderby: orderBy, top: args.Top, skip: args.Skip,

expand: "Contacts,PoMast($expand=Contacts),PartMast",
count: args.Top != null && args.Skip != null
);

poDetailCollection = result.Value.AsODataEnumerable();
count = result.Count;
}
catch (Exception ex)
{
NotificationService.Notify(new NotificationMessage
{
Severity = NotificationSeverity.Error,
Summary = "Error",
Detail = "Unable to load PoDetail"
});
}
}

void OnRender(DataGridRenderEventArgs<ERPDemo.Models.ErpWise.PoDetail> args)
{
if (args.FirstRender)
{
args.Grid.Groups.Clear();

    args.Grid.Groups.Add(new GroupDescriptor
    {
        Title = "Purchase Order",
        Property = "PONo",
        SortOrder = SortOrder.Descending
    });

    StateHasChanged();
}

}

void OnGroupRowRender(GroupRowRenderEventArgs args)
{
args.Expanded = groupsExpanded;
}

}

Grouping and virtualization with LoadData binding is not supported