Grid

IsabyteGrid

The IsabyteGrid component displays tabular data with sorting, paging, inline editing, and row selection.

IDNameDepartmentSalaryStartedActive
1Employee 1Sales41,50007/02/2026
2Employee 2HR43,00006/02/2026
3Employee 3Marketing44,50005/03/2026
4Employee 4Finance46,00004/03/2026
5Employee 5Engineering47,50003/04/2026
6Employee 6Sales49,00002/02/2026
7Employee 7HR50,50001/03/2026
8Employee 8Marketing52,00012/04/2025
9Employee 9Finance53,50011/04/2025
10Employee 10Engineering55,00010/05/2025
Items per page:
Showing 1–10 of 50
Current Configuration
📋
<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
    }
}
Related learning

See the Admin Dashboard tutorial for a step-by-step walkthrough.

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please reload the page.