Data Grid
Query results and table contents render in a spreadsheet-style grid. Edit cells inline, sort columns, copy in multiple formats, and paginate through large result sets.

Viewing Data
Click a table in the sidebar or run aSELECT query to load data into the grid. The header shows row count, execution time, and affected rows for UPDATE/DELETE queries.
Column Features
Resizing Columns
- Drag column borders to resize
- Double-click a border to auto-fit column width
- Column widths are remembered per table
Sorting Data
Click a column header to sort:- First click: Sort ascending (A-Z, 0-9)
- Second click: Sort descending (Z-A, 9-0)
- Third click: Remove sort


Data Editing
Inline Editing
To edit a cell:- Double-click the cell
- Enter the new value
- Press
Enterto confirm orEscapeto cancel


Date/Time Picker
Date, datetime, timestamp, and time columns open a native date picker instead of a text field. The picker adapts to the column type (DATE: year/month/day, DATETIME/TIMESTAMP: adds hour/minute/second, TIME: hour/minute/second only). Outputs in YYYY-MM-DD HH:MM:SS format. If the existing value cannot be parsed, it defaults to now.


Foreign Key Lookup
Foreign key columns open a searchable dropdown with values from the referenced table (e.g.,1 - John Doe). Type to filter, double-click or press Enter to commit. Fetches up to 1,000 values; use the search field to narrow larger sets.


Boolean Cell Editor
BOOLEAN, BIT, and TINYINT(1) cells open a checkbox popover. Click to toggle,Enter to commit, Escape to cancel. Nullable columns support a third indeterminate state (NULL).
| Database | Column Types | Values |
|---|---|---|
| MySQL/MariaDB | TINYINT(1), BIT(1) | 0 / 1 |
| PostgreSQL | BOOLEAN | TRUE / FALSE |
| SQLite | INTEGER | 0 / 1 |


ENUM Column Editor
ENUM cells open a searchable dropdown. Click a value to select and commit. Nullable columns show a NULL option at the top.| Database | ENUM Source |
|---|---|
| MySQL/MariaDB | Native ENUM type |
| PostgreSQL | User-defined enum types (pg_enum) |
| SQLite | CHECK(column IN (...)) constraints |


SET Column Editor
SET cells (MySQL/MariaDB) open a checkbox popover. Check/uncheck values, then pressEnter to commit or Escape to cancel.


JSON Editor
JSON/JSONB cells open a dedicated editor popover with real-time validation. Invalid JSON triggers a confirmation before saving. Values are minified on save.

Hex Editor (BLOB/Binary)
BLOB, BINARY, and VARBINARY cells open a hex editor popover. Edit as space-separated hex bytes (e.g.,48 65 6C 6C 6F). Live validation flags invalid input in red. The Cell Inspector sidebar also provides hex editing.
BLOBs larger than 10 KB are read-only. Use an external hex editor for large binary data.
Multi-Row Editing
Select multiple rows withCmd+click (non-contiguous) or Shift+click (range) on row numbers. Press Delete to remove selected rows.


Saving Changes
Changes are queued, not applied immediately. Manage pending changes with:- Preview SQL: Click the Preview SQL button (eye icon) or press
Cmd+Shift+Pto review pending SQL statements before committing - Commit: Click the Commit button (or press
Cmd+S) to apply all pending changes - Discard: Click the Discard button to revert all pending changes
- Undo/Redo: Press
Cmd+Zto undo orCmd+Shift+Zto redo individual edits before committing
Adding and Deleting Rows
Click the + button to add a new row, or select row(s) and pressDelete to remove them. Changes are queued until you click Commit.
Change Indicators
Pending changes get visual feedback:- Modified cells are highlighted with a distinct background color
- New rows display an insertion indicator
- Deleted rows display a deletion indicator
- The toolbar shows the count of pending changes
Cell Inspector
The Cell Inspector is a right sidebar panel showing detailed information about the selected row or current table. Toggle withCmd+Shift+B or via View > Toggle Cell Inspector.


Row Details Mode
When a row is selected, the inspector shows all column values with full (untruncated) content. Search columns by name. TEXT/VARCHAR columns get a multi-line editor. Edit values here; changes are queued like inline edits.Table Info Mode
When no row is selected, the inspector shows table metadata: name, row count, storage size, creation date, engine, charset, and collation.Read-Only Safe Mode connections and complex query results are not editable. See Safe Mode.
Keyboard Navigation
Use arrow keys to move between cells. PressEnter to edit, Escape to cancel. Tab / Shift+Tab move to the next/previous cell. Cmd+Home / Cmd+End jump to first/last row.
Selecting & Copying
Click a cell to select it. Drag to select a range, or Shift+click to select a range. Click row numbers to select entire rows, or Cmd+click for multiple non-contiguous rows. Select cells and pressCmd+C for TSV, Cmd+Shift+C for CSV, or Cmd+Option+J for JSON.


Pagination
Large result sets are paginated. Configure page size in Settings > Data Grid (Small: 100, Medium: 500, Large: 1,000, Custom: 10–100,000). Smaller pages load faster.

NULL Values and Display
NULL values show as styled “NULL” text (customizable in Settings > Data Grid). Configure date format, row height, and alternate row colors in the same settings panel.MongoDB Collections
Schema and Display
MongoDB has no fixed schema. TablePro infers columns by sampling up to 500 documents. Missing fields show as NULL. The_id column is read-only; delete and re-insert to change it.
BSON types display as: ObjectId("..."), ISO 8601 dates, BinData(subtype, "base64..."), decimal strings, DBRef("collection", id).
MQL Statement Preview
Changes preview as MongoDB shell commands:- Inserts:
db.collection.insertMany([...]) - Updates:
db.collection.updateOne({filter}, {$set: {...}}) - Deletes:
db.collection.deleteMany({_id: {$in: [...]}})
