Grid

IsabyteGrid

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

Grid Parameters
IDNameDepartmentSalaryStartedActive
1Employee 1Sales41,50007/27/2026True
2Employee 2HR43,00006/27/2026True
3Employee 3Marketing44,50005/28/2026False
4Employee 4Finance46,00004/28/2026True
5Employee 5Engineering47,50003/29/2026True
6Employee 6Sales49,00002/27/2026False
7Employee 7HR50,50001/28/2026True
8Employee 8Marketing52,00012/29/2025True
9Employee 9Finance53,50011/29/2025False
10Employee 10Engineering55,00010/30/2025True
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.