@guiexpert/vue3-table
guiexpert-table (Vue)
This is the vue component of the GuiExpert Table Project.
Become a master at creating web applications with large tables
This is the UI-agnostic table component for your next web app. 😊
Features
- Handle large datasets easily
- Excellent performance for large tables by vertical and horizontal virtual scrolling
- Fully-featured (advanced sorting and filtering)
- Highly customizable orderData grid
- Outstanding performance
- No third-party dependencies
- UI-agnostic
- Column Interactions (resize, reorder)
- Sorting Rows
- Row, Column, and Range Selection
- Single and Multi Selection
- UI-agnostic
- Row and Column Spanning
- Fixed Columns (Left and Right)
- Tree table (Hierarchical View)
- Accessibility support: Keyboard Shortcuts
- Custom Filtering
- In-place Cell Editing
- Userdefined Key and Mouse Events
- Customizable Look & Feel (via CSS variables)
- Row sorting
- Column Reordering (Drag and Drop)
- State Persistence (Row Sorting, Column Order, Selection)
- Customizable Cell Contents via Renderer for Header, Body and Footer
- Full control over the HTML structure and style
New in October 2026 (1.1.91 – 1.1.99) – all MIT-licensed
- Screen readers and keyboard: WAI-ARIA grid, announcements, full keyboard navigation (1.1.91)
- “Loading…” and “No rows” overlays with a CSS spinner,
loadingprop (1.1.92) - Save and restore the state: column layout, sorting, scroll position, selection – localStorage or your server (1.1.92)
- Row numbers like in a spreadsheet:
rowNumbersVisible: true(1.1.93) - Total rows that follow the filter, sums of the selection:
footerAggregates(1.1.94) - Row grouping with subtotals:
RowGroupFactory(1.1.94) - Pivot tables:
PivotFactory(1.1.94) - Calculated columns, “Show values as” and formulas without
eval:valueGetter,showValuesAs,formula(1.1.95) - Drag rows into order – mouse, touch, keyboard:
rowDrag: true(1.1.95) - Fill handle and batch edit:
fillHandle,batchEdit(1.1.96) - Master/detail with nested tables or components:
masterDetail(1.1.97) - Right-to-left for Arabic, Hebrew, Persian:
direction: "rtl"(1.1.98) - A spreadsheet: A1 cell formulas, copy & paste with Excel, undo/redo, formula bar –
SpreadsheetFactory, orspreadsheet: truefor your table (1.1.99)
All of them with code and live demos: gui.expert/whats-new · training: gui.expert/training
Links
Get Started
Add the following two NPM packages to your existing react project (run this in your project root directory):
npm install --save @guiexpert/table @guiexpert/vue3-table
Add guiexpert-table component to a template:
<guiexpert-table
:tableModel="tableModel"
@tableReady="onTableReady($event)"
></guiexpert-table>
Import the following classes in your component:
<script lang="ts" setup>
import { GuiexpertTable } from "@guiexpert/vue3-table";
import {
GeMouseEvent,
TableApi
TableFactory,
TableModelIf,
TableOptions,
TableOptionsIf
} from "@guiexpert/table";
Add a tableModel property and a onTableReady method to the component:
const headerData = [['Column 1', 'Column 2', 'Column 3']] // array of array!
const bodyData = []
for (let i = 0; i < 100; i++) {
bodyData.push(['This is a very', 'simple', 'demo.'])
}
const tableModel: TableModelIf = TableFactory.createTableModel({
headerData,
bodyData,
overridingColumnWidth: 110,
});
function onTableReady(api: TableApi) {
console.info("onTableReady API:", api);
}
There are numerous possibilities to create table models. Please refer to the Documentation for further information or the Demo section for examples.
License
Current releases: MIT License. All currently published versions are free to use, modify and distribute – also in commercial and proprietary applications. See LICENSE.
Future releases: possible dual licensing. Dr. Marc Kronberg (gui.expert) reserves the right to publish future versions under different terms (e.g. open source for individuals and non-commercial use, commercial license for businesses). Versions already released under MIT remain MIT. Details: gui.expert/license.
Version History
| Version | Released | Vue | License |
|---|---|---|---|
| 3.1.102 | ^3.0.0 | MIT | |
| 3.1.101 | ^3.0.0 | MIT | |
| 3.1.100 | ^3.0.0 | MIT | |
| 3.1.99 | ^3.0.0 | MIT | |
| 3.1.98 | ^3.0.0 | MIT | |
| 3.1.97 | ^3.0.0 | MIT | |
| 3.1.96 | ^3.0.0 | MIT | |
| 3.1.94 | ^3.0.0 | MIT | |
| 3.1.93 | ^3.0.0 | MIT | |
| 3.1.92 | ^3.0.0 | MIT | |
| 3.1.91 | ^3.0.0 | MIT | |
| 3.1.90 | ^3.0.0 | MIT | |
| 3.1.89 | ^3.0.0 | MIT | |
| 3.1.88 | ^3.0.0 | MIT | |
| 3.1.86 | ^3.0.0 | MIT | |
| 3.1.85 | ^3.0.0 | MIT | |
| 3.1.84 | ^3.0.0 | ||
| 3.1.83 | ^3.2.47 | ||
| 3.1.82 | ^3.2.47 | ||
| 3.1.81 | ^3.2.47 | ||
| 3.1.80 | ^3.2.47 | ||
| 3.1.79 | ^3.2.47 | ||
| 3.1.78 | ^3.2.47 | ||
| 3.1.77 | ^3.2.47 | ||
| 3.1.76 | ^3.2.47 | ||
| 3.1.75 | ^3.2.47 | ||
| 3.1.74 | ^3.2.47 | ||
| 3.1.72 | ^3.2.47 | ||
| 3.1.69 | ^3.2.47 | ||
| 3.1.68 | ^3.2.47 |
Showing the latest 30 of 87. See every release on npm