Did you guys test the blazor grid at all before releasing it? 75% of the features do not work out of the box. I used the standard blazor template and then I took example code provided by you to produce a grid. Here is not what is working:
Column reordering - You can re-order columns, but only the header. The actual data does not follow the column.
Column Sorting - If I sort, the data disappears.
Column grouping - If I allow grouping and drag a column header to the top, the header turns blue and nothing happens. You are stuck in this state until you restart.
I am trying to evaluate your software and I'm sorry, if it were me, this would have been QA'd (Which obviously it wasn't, like, at all) and sent back to the DEV's immediately and probably someone would be fired. Terrible.
Please find an attached video made in Jing (swf video file) showing you all of this.
Here is my Blazor page:
@page "/counter"
@using Syncfusion.EJ2.Blazor.Grids
<h1>Counter</h1>
<p>Current count: @currentCount</p>
<button class="btn btn-primary" @onclick="IncrementCount">Click me</button>
<EjsGrid DataSource="@Orders" AllowPaging="true" AllowSorting="true" AllowFiltering="true" AllowGrouping="true" AllowReordering="true">
<GridPageSettings PageSize="5"></GridPageSettings>
<GridColumns>
<GridColumn Field=@nameof(Order.OrderID) HeaderText="Order ID" TextAlign="TextAlign.Right" Width="120"></GridColumn>
<GridColumn Field=@nameof(Order.CustomerID) HeaderText="Customer Name" 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>
</EjsGrid>
@code {
public List<Order> Orders { get; set; }
protected override async Task OnInitializedAsync()
{
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; }
}
private int currentCount = 0;
private void IncrementCount()
{
currentCount++;
}
}
Attachment:
SyncfusionGrid_9ee5daab.zip