Aller au contenu

rows

Les lignes, quand votre application les a toutes dans le navigateur — un tableau, ou tout ce qui s’itère.

TypeIterable<T>
Par défaut[]
Modifiable en direct (update())Oui
Angularl’entrée [rows]
<dz-grid>la propriété rows
Déclaré danspackages/dom/src/settings.ts

N’importe quel itérable de vos objets : un tableau, un Set, un générateur. La grille lit chaque valeur par les colonnes et reconnaît chaque ligne par getRowId ; elle ne modifie jamais vos objets. Le tri, les filtres, la recherche et les pages se font alors dans le navigateur.

Pour changer les lignes, donnez un nouveau tableau par update({ rows }), jamais le même modifié : les lignes sont reconnues par leur identifiant, celles qui restent gardent leur focus, leur sélection et leur ouverture, et une valeur qui a changé peut briller. Pour quelques lignes à la fois, une transaction coûte moins : grid.kernel.rows.applyTransaction({ add, patch, remove }). Avec sameRow, un rechargement garde l’ancien objet d’une ligne qui n’a pas vraiment changé.

Une ligne dont l’identifiant manque ou se répète est écartée et signalée (invalid-row-id, duplicate-row-id). Des lignes qui vivent sur un serveur passent plutôt par source.

import { createGrid } from '@dzgrid/dom';
import { FR } from '@dzgrid/dom/locales/fr';
type Bird = { id: string; name: string; seen: number };
let birds: Bird[] = [{ id: 'b1', name: 'Rouge-gorge', seen: 3 }];
const grid = createGrid<Bird>(document.getElementById('oiseaux')!, {
rows: birds,
columns: [{ id: 'name', header: 'Oiseau' }, { id: 'seen', header: 'Vus', type: 'number' }],
getRowId: (b) => b.id,
messages: FR,
});
birds = [...birds, { id: 'b2', name: 'Troglodyte', seen: 1 }];
grid.update({ rows: birds });