Tabelas JavaScript
StockSharp JS Grids é um conjunto de componentes para navegador destinados à apresentação de dados tabulares. O pacote está publicado no npm como @stocksharp/grids, não tem dependências externas em tempo de execução e pode ser utilizado tanto com TypeScript como diretamente no navegador.

Pode experimentar a versão funcional na demonstração online: os cabeçalhos ordenam as linhas, as colunas podem ser arrastadas e ocultadas, os filtros e o agrupamento alteram a apresentação e a exportação cria um verdadeiro ficheiro .xlsx.
Conteúdo do pacote
- DataGrid constrói o cabeçalho e as linhas a partir de uma descrição unificada das colunas. É responsável pela ordenação, filtros, agrupamento, seleção de linhas, totais fixos, menu de contexto, persistência do estado e exportação.
- ColumnSettings liga-se a uma tabela HTML já apresentada pelo servidor e permite ao utilizador alterar a ordem e a visibilidade das colunas.
- TableSort fornece um controlador de ordenação autónomo para uma tabela gerida pela aplicação.
- TableExport cria um livro OOXML
.xlsxsem bibliotecas externas.
DataGrid e ColumnSettings resolvem problemas diferentes. O primeiro cria o conteúdo de <thead> e <tbody> a partir da declaração das colunas. O segundo não cria a tabela e destina-se apenas a marcação existente, gerada pelo servidor, com atributos data-col.
Instalação
Instale o pacote a partir do npm:
npm install @stocksharp/grids
Todos os componentes principais estão disponíveis no ponto de entrada comum:
import {
DataGrid,
ColumnSettings,
TableSort,
TableExport,
} from '@stocksharp/grids';
Para reduzir o código importado, existem pontos de entrada separados:
import { DataGrid } from '@stocksharp/grids/data-grid';
import { ColumnSettings } from '@stocksharp/grids/column-settings';
import { TableSort } from '@stocksharp/grids/table-sort';
import { TableExport } from '@stocksharp/grids/table-export';
Sem um empacotador, ligue o pacote pronto para navegador. Os respetivos objetos públicos encontram-se em window.SSGrid:
<script src="https://cdn.jsdelivr.net/npm/@stocksharp/grids@1.1.0/dist/ssgrid.js"></script>
<script>
const { DataGrid, TableExport } = window.SSGrid;
</script>
Exemplo rápido
Prepare uma tabela comum com secções de cabeçalho e dados:
<table id="orders">
<thead></thead>
<tbody></tbody>
</table>
Descreva as colunas uma vez e forneça as linhas à tabela:
import { DataGrid, SortDirections } from '@stocksharp/grids';
interface Order {
id: number;
symbol: string;
price: number;
}
const table = document.querySelector<HTMLTableElement>('#orders')!;
const grid = new DataGrid<Order>({
head: table.tHead!,
body: table.tBodies[0],
columns: [
{ key: 'id', header: 'N.º', value: order => order.id, filter: 'number', exportable: true },
{ key: 'symbol', header: 'Instrumento', value: order => order.symbol, filter: 'text', exportable: true },
{ key: 'price', header: 'Preço', value: order => order.price, filter: 'number', exportable: true },
],
defaultSort: { col: 'id', dir: SortDirections.Desc },
rowKey: order => String(order.id),
emptyText: 'Sem ordens',
locale: 'pt-PT',
});
grid.setRows([
{ id: 101, symbol: 'SBER', price: 312.45 },
{ id: 102, symbol: 'GAZP', price: 164.18 },
]);
A biblioteca cria elementos DOM, mas não impõe um estilo. As cores, dimensões, realce das linhas, menu, caixa de diálogo do filtro e classes auxiliares são definidos pela folha de estilos da aplicação.
Compilação a partir do código-fonte
O repositório e a demonstração local utilizam os comandos npm habituais:
git clone https://github.com/StockSharp/JS-Grids.git
cd JS-Grids
npm ci
npm test
npm run build
npm run serve
Depois do arranque, a demonstração fica disponível em http://localhost:8793/demo/.