Comment masquer la colonne dans AG-Grid et également ne pas l'afficher dans le panneau d'outils ...
var columnDefs = [{ headerName: "Stone_ID", field: "Stone_ID", width: 100, hide: "true" }]
Vous pouvez définir la propriété de colonne suppressToolPanel sur true pour y parvenir.
var columnDefs = [
{
headerName: "Stone_ID",
field: "Stone_ID",
width: 100,
hide: true,
suppressToolPanel: true
}
]
Si vous recherchez dynamiquement affichez/masquez les colonnes ci-dessous:
Vous pouvez utiliser
setColumnVisible
ousetColumnsVisible
.
REMARQUE: ces fonctions attendent une ou des colonnes colKey liées au champ que vous avez défini dans columnDefs.
columnDefs = [
{
headerName: "Name",
field: "name", // => that!
width: 150
},
{
headerName: "Last Name",
field: "last_name", // => that!
width: 150
},
// ...
];
Lorsque vous utilisez
setColumnVisible
, vous pouvez afficher/masquer une seule colonne
gridOptions.columnApi.setColumnVisible('name', false) //In that case we hide it
Lorsque vous utilisez
setColumnsVisible
, vous pouvez afficher/masquer plusieurs colonnes
gridOptions.columnApi.setColumnsVisible(['name', 'last_name'], true) //In that case we show them
Pour ce faire, vous pouvez utiliser par programme:
Masquer les colonnes:
this.agGrid.columnApi.setColumnsVisible(["COL_ID_1", "COL_ID_2"], false);
Afficher les colonnes:
this.agGrid.columnApi.setColumnsVisible(["COL_ID_1", "COL_ID_2"], true);
Pour ce faire, pour un groupe de colonnes entier, vous pouvez utiliser:
const group = this.columnApi.getColumnGroup("MY_GROUP");
group.children.forEach(child => this.columnApi.setColumnsVisible(child, false));
var columnDefs = [{ headerName: "Stone_ID", field: "Stone_ID", width: 100, hide: true }]
hide: devrait obtenir la valeur true, pas la chaîne "true" (comme la largeur: obtient 100, pas "100")