Aller au contenu

hideable

Pour une colonne qui doit rester à l’écran.

Typefalse
Par défautnon défini
Modifiable en direct (update())Oui — en redonnant les colonnes (update({ columns }))
Déclaré danspackages/core/src/columns/defs.ts

hideable: false désactive le « Masquer la colonne » du menu de colonne pour elle, et le sélecteur de colonnes ne peut pas la décocher. Un état enregistré qui la masque est signalé, et la colonne reste affichée. Votre code peut toujours la masquer avec hidden.

La grille ne laisse jamais l’utilisateur masquer la dernière colonne affichée, quoi que dise cette option.

import { createGrid, type GridMessages } from '@dzgrid/dom';
import { columnMenu } from '@dzgrid/dom/column-menu';
import { FR_COLUMN_MENU } from '@dzgrid/dom/locales/fr-column-menu';
import { FR } from '@dzgrid/dom/locales/fr';
type Tool = { id: string; name: string; shelf: number; notes: string };
const messages: GridMessages = { ...FR, text: { ...FR.text, ...FR_COLUMN_MENU.text } };
createGrid<Tool>(document.getElementById('outils')!, {
rows: [{ id: 't1', name: 'Marteau', shelf: 2, notes: 'Arrache-clou, 450 g' }],
columns: [
{ id: 'name', header: 'Outil', hideable: false },
{ id: 'notes', header: 'Notes' },
],
getRowId: (r) => r.id,
messages,
features: [columnMenu()],
});

Ouvrez le menu d’Outil (⋮) : « Masquer la colonne » est désactivé. Celui de Notes ne l’est pas.