안녕하세요 메시어스입니다.
문의하신 내용에 대해 안내드립니다.
1. 특정 컬럼은 열고정 제외하는 방법
=> 열 레벨에서 특정 열의 고정을 방지하는 데 사용할 수 있는 속성은 직접적으로 지원하고 있지 않습니다. 다만 workaround로 "allowPinning" 속성이 SingleColumn으로 설정되어 있는 경우 셀을 커스터마이징할 수 있는 formatItem 이벤트를 이용하여 고정되지 않도록 열 헤더의 핀 아이콘을 제거하여 구현할 수 있습니다. 아래 샘플을 참고하여 주시기 바랍니다.
만일 ColumnRange를 고정 모드로 사용하는 경우 기본 고정 기능을 수정해주셔야 합니다. 기본 고정 기능 수정 후 열 고정을 제외할 열에 대해 사용자 지정 속성 "allowPinning"을 사용하여 해당 속성을 false로 설정하시기 바랍니다.
2. 열고정(AllowPinning.ColumnRange)은 적용되지만 특정 컬럼의 헤더에서는 핀버튼을 미노출하는 방법
=> 해당 기능의 경우, 아래 코드와 같이 formatItem 이벤트를 이용하여 핀 아이콘을 삭제하여 구현할 수 있습니다.
function handleFormatItem(sender, args) {
if (args.panel.cellType === wjGrid.CellType.ColumnHeader) {
let column = args.getColumn();
// Remove the pin icon from the Column header if it is not pinnable.
if (notPinnableColumns.includes(column.binding)) {
args.cell.removeChild(args.cell.querySelector('button.wj-elem-pin'));
}
}
}
(...)
<wjcGrid.FlexGrid
ref={grid}
allowPinning="ColumnRange"
frozenColumns={1}
itemsSource={cv}
formatItem={handleFormatItem}
initialized={handleInitialized}
></wjcGrid.FlexGrid>
다른 궁금한 점이 생기면 문의주시기 바랍니다.
감사합니다.
메시어스 드림