Skip to content

Result Grid

Interact with query data intuitively and powerfully — from the smallest cell to millions of records.

Smart Sorting

Click column headers to sort ascending/descending. Multi-column sort by holding Shift and clicking additional columns. Auto-detects data types (number, text, date) for accurate sorting.

Quick Filter

Search bar directly on the grid filters records in real-time as you type. Supports column-specific filtering or full-record search. Regex supported with "re:" prefix.

Performance Pagination

DataGrid and Query Result both fetch server-side pages. Users can browse large datasets with Previous/Next or page jump controls without writing LIMIT/OFFSET manually.

DataGrid and Query Result footers use the same row, current-page, page-size, and total-result language. Exact totals are cached briefly in Redis so page changes do not repeat COUNT(*).

Cell Interactions

The Result Grid supports multiple ways to interact directly with individual cells:
Click on a cellSelect the cell and display full content in the bottom status bar. Very useful for columns with long text or JSON.
Double-click on a cellOpens an expanded view for that value. For JSON/JSONB columns, content is beautifully formatted with syntax highlighting.
Ctrl + CCopy the selected cell value. For multiple cells, copies as tab-separated values (paste into Excel).
Resize columnDrag column border in the header to resize. Double-click the column border to auto-fit by content.

Data Type Rendering

Each data type is rendered differently in the grid for easy distinction:
TypeDisplayExample
NULLGray badge with "NULL" textNULL
BooleanBlue/red colored badgeTRUE
NumberRight-aligned, number color42,195
Date/TimeISO 8601 format2024-03-15T10:30:00Z
JSON/JSONBCollapsed preview, click to expand{...}
Text (dài)Truncated with "..." and tooltipLorem ipsum do...

Direct Data Editing

In the DataGrid (table tab in the Explorer), you can edit data directly on the grid without writing SQL:
Double-click a cell to editThe cell switches to edit mode. Press Enter to save, Esc to cancel. The new value is sent through a safe parameterized UPDATE on the server.
"Add Row" buttonAppends a new empty row at the bottom; fill in values and save — the server generates the matching parameterized INSERT.
Select rows → Delete buttonDeletes one or more selected rows via DELETE ... WHERE pk IN (...). A confirmation step always appears before deletion.
Bulk Replace (Ctrl+H)Bulk-replace values in one column by exact value or pattern, with a preview of affected rows before applying.
Cell InspectorOpens a detail panel for the selected cell to view and edit long, multi-line JSON values without the cell-height limit.

Direct editing is disabled on read-only connections or connections with allowQueryExecution off — the guard is enforced in the backend, not just hidden in the UI. Tables need a primary key for row-level updates.

Execution Info

After each query, the bottom status bar displays important information to help evaluate performance:
Rows100 / 1,247 rows
Execution Time23ms
Columns8 columns
Limit Statuswindowed

Ready to explore data?

Join the community on GitHub to contribute to the smartest local database IDE.

Launch App