<IsabyteGrid Items="@_items"
IsEditable="true"
FilterColumns="_filterColumns"
OnSave="HandleSave">
<IsabyteGridColumn Property="@(e => e.Id)" Title="ID" Width="60px" Editable="false" />
<IsabyteGridColumn Property="@(e => e.Name)" Title="Name" />
<IsabyteGridColumn Property="@(e => e.Department)" Title="Department" />
<IsabyteGridColumn Property="@(e => e.Salary)" Title="Salary" Format="N0" />
<IsabyteGridColumn Property="@(e => e.StartDate)" Title="Started" Format="d" />
<IsabyteGridColumn Property="@(e => e.IsActive)" Title="Active" />
</IsabyteGrid>
@code {
private List<GridDemoItem> _items = new();
private List<IsabyteFilterColumn> _filterColumns = new();
protected override void OnInitialized()
{
_items = LoadEmployees();
_filterColumns = new()
{
new() { Id = "Name", HeaderName = "Name", DataType = IsabyteFilterDataType.String, Placeholder = "Search name..." },
new() { Id = "Department", HeaderName = "Department", DataType = IsabyteFilterDataType.Dropdown,
Items = new() { "Engineering", "Sales", "HR", "Marketing", "Finance" } },
new() { Id = "Salary", HeaderName = "Salary", DataType = IsabyteFilterDataType.Decimal, MinValue = 0m, MaxValue = 200000m, Step = 1000m },
new() { Id = "StartDate", HeaderName = "Started", DataType = IsabyteFilterDataType.DateRange },
new() { Id = "IsActive", HeaderName = "Active", DataType = IsabyteFilterDataType.Boolean },
};
}
private void HandleSave(IsabyteGridSaveEventArgs<GridDemoItem> args)
{
// args.ChangedItems — modified items
// args.Changes — per-row details with originals
}
}