These have been around for multiple releases, I just tracked down the triggers.
When a DetailTemplate is present AND grouping is applied, multiple issues appear with resizing a column. Sometimes it will graphically adjust the next column over, but apply the change to the column you were actually adjusting. Other times it will actually adjust a different column from the one you were changing.
Also the following set of steps will cause a crash: 1) Adjust the width of a column with no grouping applied, 2) Group by some column.
See code below (remote desktop is messing with my screen recorder or I'd post a video, sorry!).
@page "/"
@using Syncfusion.Blazor.Grids
@using Syncfusion.Blazor.Buttons
<SfButton OnClick="@(async () => _state = await Grid.GetPersistData())">Save State</SfButton>
<SfButton OnClick="@(() => Grid.SetPersistData(_state))">Set State</SfButton>
<SfButton OnClick="@(() => Grid.ResetPersistData())">Reset State</SfButton>
<div style=" height: 90vh;
width: calc(100vw - 250px) !important;">
<SfGrid @ref="Grid" ID="GridOneTwo" DataSource="@Orders" Width="100%" Height="100%" EnablePersistence="true" AllowPaging="true" AllowFiltering="true" AllowGrouping="true" AllowSorting="true" AllowReordering="true" AllowResizing="true">
<GridColumns>
<GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" TextAlign="TextAlign.Right"></GridColumn>
<GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name"></GridColumn>
<GridColumn Field=@nameof(Order.OrderDate) HeaderText="Order Date" Format="d" Type="ColumnType.Date" TextAlign="TextAlign.Right"></GridColumn>
<GridColumn Field=@nameof(Order.Freight) HeaderText="Freight" Format="C2" TextAlign="TextAlign.Right"></GridColumn>
</GridColumns>
<GridTemplates>
<DetailTemplate>
TEST
</DetailTemplate>
</GridTemplates>
</SfGrid>
</div>
@code {
SfGrid<Order> Grid;
public List<Order> Orders { get; set; }
public string _state;
protected override void OnInitialized()
{
Orders = Enumerable.Range(1, 75).Select(x => new Order()
{
OrderID = 1000 + x,
CustomerID = (new string[] { "ALFKI", "ANANTR", "ANTON", "BLONP", "BOLID" })[new Random().Next(5)],
Freight = 2.1 * x,
OrderDate = DateTime.Now.AddDays(-x),
}).ToList();
}
public class Order
{
public int? OrderID { get; set; }
public string CustomerID { get; set; }
public DateTime? OrderDate { get; set; }
public double? Freight { get; set; }
}
}