<SfButton OnClick="Switch" Content="Switch Virtualization"></SfButton>
@if (ShowGrid)
{
<SfGrid DataSource="@GridData" AllowFiltering="true" Height="400" AllowPaging="!enableVirt" EnableVirtualization="@enableVirt">
</SfGrid>
}
@code{
public List<Order> GridData { get; set; }
public bool ShowGrid { get; set; } = true;
public bool enableVirt { get; set; }
public async Task Switch()
{
ShowGrid = false; // to destroy the Grid
await Task.Delay(100);
enableVirt = !enableVirt;
ShowGrid = true; // to render the Grid,
}
|
<SfButton OnClick="Switch" Content="Switch Virtualization"></SfButton>
<SfGrid @ref="Grid" DataSource="@GridData" Height="400" AllowPaging="!enableVirt" EnableVirtualization="@enableVirt">
@if (enableVirt)
{
<GridPageSettings PageSize="50"></GridPageSettings>
}
else
{
<GridPageSettings PageSize="12" PageCount="8" CurrentPage="1"></GridPageSettings>
}
<GridColumns>
<GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" IsPrimaryKey="true" Width="150"></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{
SfGrid<Order> Grid { get; set; }
public List<Order> GridData { get; set; }
public bool enableVirt { get; set; } = true;
public async Task Switch()
{
enableVirt = !enableVirt;
await Task.Yield();
Grid.Refresh();
}
|