import Handsontable from'handsontable';import'handsontable/dist/handsontable.full.min.css';const container = document.querySelector('#example3');const hot =newHandsontable(container,{licenseKey:'non-commercial-and-evaluation',data:[['A1','B1','C1','D1','E1','F1','G1','H1','I1','J1','K1','L1'],['A2','B2','C2','D2','E2','F2','G2','H2','I2','J2','K2','L2'],['A3','B3','C3','D3','E3','F3','G3','H3','I3','J3','K3','L3'],['A4','B4','C4','D4','E4','F4','G4','H4','I4','J4','K4','L4'],['A5','B5','C5','D5','E5','F5','G5','H5','I5','J5','K5','L5'],],height:'auto',colHeaders:true,rowHeaders:true,hiddenColumns:{columns:[3,5,9],// show UI indicators to mark hidden columnsindicators:true,},});
Step 3: Set up context menu items
To easily hide and unhide columns, add column hiding items to Handsontable's
context menu.
Enable both the ContextMenu plugin and the
HiddenColumns plugin. Now, the context menu automatically displays
additional items for hiding and unhiding columns.
import Handsontable from'handsontable';import'handsontable/dist/handsontable.full.min.css';const container = document.querySelector('#example4');const hot =newHandsontable(container,{licenseKey:'non-commercial-and-evaluation',data:[['A1','B1','C1','D1','E1','F1','G1','H1','I1','J1','K1','L1'],['A2','B2','C2','D2','E2','F2','G2','H2','I2','J2','K2','L2'],['A3','B3','C3','D3','E3','F3','G3','H3','I3','J3','K3','L3'],['A4','B4','C4','D4','E4','F4','G4','H4','I4','J4','K4','L4'],['A5','B5','C5','D5','E5','F5','G5','H5','I5','J5','K5','L5'],],height:'auto',colHeaders:true,rowHeaders:true,// enable the context menucontextMenu:true,// enable the `HiddenColumns` plugin// automatically adds the context menu's column hiding itemshiddenColumns:{columns:[3,5,9],indicators:true,},});
import Handsontable from'handsontable';import'handsontable/dist/handsontable.full.min.css';const container = document.querySelector('#example5');const hot =newHandsontable(container,{licenseKey:'non-commercial-and-evaluation',data:[['A1','B1','C1','D1','E1','F1','G1','H1','I1','J1','K1','L1'],['A2','B2','C2','D2','E2','F2','G2','H2','I2','J2','K2','L2'],['A3','B3','C3','D3','E3','F3','G3','H3','I3','J3','K3','L3'],['A4','B4','C4','D4','E4','F4','G4','H4','I4','J4','K4','L4'],['A5','B5','C5','D5','E5','F5','G5','H5','I5','J5','K5','L5'],],height:'auto',colHeaders:true,rowHeaders:true,// individually add column hiding context menu itemscontextMenu:[`hidden_columns_show`,`hidden_columns_hide`],hiddenColumns:{columns:[3,5,9],indicators:true,},});
Step 4: Set up copy and paste behavior
By default, hidden columns are included in copying and pasting.
To exclude hidden columns from copying and pasting, in the hiddenColumns
object, set the copyPasteEnabled property to false:
import Handsontable from'handsontable';import'handsontable/dist/handsontable.full.min.css';const container = document.querySelector('#example6');const hot =newHandsontable(container,{licenseKey:'non-commercial-and-evaluation',data:[['A1','B1','C1','D1','E1','F1','G1','H1','I1','J1','K1','L1'],['A2','B2','C2','D2','E2','F2','G2','H2','I2','J2','K2','L2'],['A3','B3','C3','D3','E3','F3','G3','H3','I3','J3','K3','L3'],['A4','B4','C4','D4','E4','F4','G4','H4','I4','J4','K4','L4'],['A5','B5','C5','D5','E5','F5','G5','H5','I5','J5','K5','L5'],],height:'auto',colHeaders:true,rowHeaders:true,contextMenu:['hidden_columns_show','hidden_columns_hide'],hiddenColumns:{columns:[3,5,9],indicators:true,// exclude hidden columns from copying and pastingcopyPasteEnabled:false,},});
Column hiding API methods
For the most popular column hiding tasks, use the API methods below.
To see your changes, re-render your Handsontable instance with the
render() method.