We can enable resize in oj-data-grid by adding the following html code to <oj-data-grid>:
<oj-data-grid
id="datagrid"
style="width:100%;height:400px"
aria-label="My Data Grid"
data='{{ salaryDataADP }}'
header.column.style="[[ headerColStyle ]]"
header.column.resizable.width="enable"
header.column.resizable.height="enable"
header.row.resizable.width="enable"
header.row.resizable.height="enable"
header.column.class-name="oj-helper-justify-content-flex-start"
cell.class-name="oj-helper-justify-content-flex-start"
>
<oj-menu slot="contextMenu" aria-label="Employee Edit">
<oj-option id="resizeWidth" value="Resize Width"
data-oj-command="oj-datagrid-resizeWidth"></oj-option>
<oj-option id="resizeHeight" value="Resize Height"
data-oj-command="oj-datagrid-resizeHeight"></oj-option>
<oj-option id="resizeFitToContent" value="Resize Fit To Content"
data-oj-command="oj-datagrid-resizeFitToContent"></oj-option>
</oj-menu>
</oj-data-grid>The following attributes on the header will allow resizing. When hovering on a border, the user can resize the row or column height or width.
<oj-data-grid
header.column.resizable.width="enable"
header.column.resizable.height="enable"
header.row.resizable.width="enable"
header.row.resizable.height="enable"
>
</oj-data-grid>To add an additional right-click menu, we can add the below code. The user can right-click and click on Resize width, and enter a desired width, like 100 or 200.
<oj-menu slot="contextMenu" aria-label="Employee Edit">
<oj-option id="resizeWidth" value="Resize Width"
data-oj-command="oj-datagrid-resizeWidth"></oj-option>
<oj-option id="resizeHeight" value="Resize Height"
data-oj-command="oj-datagrid-resizeHeight"></oj-option>
<oj-option id="resizeFitToContent" value="Resize Fit To Content"
data-oj-command="oj-datagrid-resizeFitToContent"></oj-option>
</oj-menu>There are other commands available, like below ( see the jsdoc link for more information ). Few features are supported only in latest version of JET
| Default Function | data-oj-command value |
|---|---|
| Resize menu (contains width and height resize) | oj-datagrid-resize |
| Sort Row menu (contains ascending and descending sort) | oj-datagrid-sortRow |
| Sort Column menu (contains ascending and descending sort) | oj-datagrid-sortCol |
| Resize Width | oj-datagrid-resizeWidth |
| Resize Height | oj-datagrid-resizeHeight |
| Resize Fit To Content | oj-datagrid-resizeFitToContent |
| Sort Row Ascending | oj-datagrid-sortRowAsc |
| Sort Row Descending | oj-datagrid-sortRowDsc |
| Sort Column Ascending | oj-datagrid-sortColAsc |
| Sort Column Descending | oj-datagrid-sortColDsc |
| Cut (for reordering) | oj-datagrid-cut |
| Paste (for reordering) | oj-datagrid-paste |
| CutCells (for data transferring) | oj-datagrid-cutCells |
| CopyCells (for data transferring) | oj-datagrid-copyCells |
| PasteCells (for data transferring) | oj-datagrid-pasteCells |
| Fill | oj-datagrid-fillCells |
| Select Multiple Cells on Touch Device | oj-datagrid-discontiguousSelection |
| Freeze Columns | oj-datagrid-freezeCol |
| Freeze Rows | oj-datagrid-freezeRow |
| Unfreeze Columns | oj-datagrid-unfreezeColumn |
| Unfreeze Rows | oj-datagrid-unfreezeRow |
| Hide Columns | oj-datagrid-hideCol |
| Unhide Columns | oj-datagrid-unhideCol |
Screenshots


Live application URL: https://khalil232.com/apps/ojet-apps/?ojr=data-grid-example
References:
helper classes: https://www.oracle.com/webfolder/technetwork/jet/jsdocs/Helpers.html
jet cookbook: https://www.oracle.com/webfolder/technetwork/jet/jetCookbook.html?component=dataGrid&demo=resizing
link for oj-data-commands: https://www.oracle.com/webfolder/technetwork/jet/jsdocs/oj.ojDataGrid.html#contextmenu-section