nv-grid-col
nv-grid 내부에서 사용하는 컬럼 정의용 컴포넌트로, slot을 이용한 커스텀 셀 렌더링 기능을 제공합니다. 이 컴포넌트는 마운트 시 자동으로 nvGrid.columnDefs.added 이벤트를 통해 nv-grid에 컬럼 정의를 전달합니다.
props
이름 | 타입 | 기본값 | 설명 |
---|---|---|---|
headerName | string | ag-grid 클래스 이름 지정 | |
field | string | ag-grid 옵션 객체 | |
width | number | 컬럼 너비 | |
minWidth | number | 컬럼 최소 너비 | |
flex | number | Flexbox 기능 설정 | |
cellStyle | string | 컬럼 스타일 | |
pinned | string | 열 고정 여부('left', 'right') | |
sortKey | string | 컬럼 정렬 기능 활성화 |
width
컬럼의 너비는 :width 속성에 숫자로 조정합니다.
:width 속성이 설정 된 경우 아래와 같이 빈 공간이 생길 수 있습니다.
html
<nv-grid ref="UserGrid"
:rowData="list"
:gridOptions="grid.option"
:keepColumnState="true">
<nv-grid-col headerName="번호" field="positionIdx" :cellStyle="grid.style.end" width="50"></nv-grid-col>
<nv-grid-col headerName="제목" field="title" :width="150"></nv-grid-col>
<nv-grid-col headerName="정렬필드" field="sortField"></nv-grid-col>
<nv-grid-col headerName="언버스" field="field1"></nv-grid-col>
</nv-grid>
flex, minWidth
만약 특정 컬럼이 전체 그리드 너비의 나머지 여유분을 차지하게 하고 싶으면
:flex="1" 과 :minWidth 속성의 조합으로 구성합니다.
html
<nv-grid ref="UserGrid"
:rowData="list"
:gridOptions="grid.option"
:keepColumnState="true">
<nv-grid-col headerName="번호" field="positionIdx" :cellStyle="grid.style.end" :width="50"></nv-grid-col>
<nv-grid-col headerName="제목" field="title" :minwidth="150" :flex="1"></nv-grid-col>
<nv-grid-col headerName="정렬필드" field="sortField"></nv-grid-col>
<nv-grid-col headerName="언버스" field="field1"></nv-grid-col>
</nv-grid>
TIP
하나의 그리드에 적어도 한 컬럼은 이 처럼 여분 컬럼으로 사용해야 합니다.
- flex="1" 의 의미는 나머지 공간의 차지하는 비율을 의미합니다.
만약 하나 이상의 컬럼이 flex 속성을 가지고 각각 1 과 2 라는 값을 가진다면 그 비율만큼 나머지 공간을 분할해서 차지하게 됩니다.
pinned
특정 컬럼을 좌, 우 기준으로 고정
html
<nv-grid ref="UserGrid"
:rowData="list"
:gridOptions="grid.option"
:keepColumnState="true">
<nv-grid-col headerName="번호" field="positionIdx" :cellStyle="grid.style.end" :width="50"></nv-grid-col>
<nv-grid-col headerName="제목" field="title" :minWidth="50" :flex="1"></nv-grid-col>
<nv-grid-col headerName="정렬필드" field="sortField"></nv-grid-col>
<nv-grid-col headerName="언버스" field="field1" pinned="right"></nv-grid-col>
</nv-grid>
sortKey
컬럼 sort 기능 활성화
html
<nv-grid ref="UserGrid"
:rowData="list"
:gridOptions="grid.option"
:keepColumnState="true">
<nv-grid-col headerName="번호" field="positionIdx" :cellStyle="grid.style.end" :width="50"></nv-grid-col>
<nv-grid-col headerName="제목" field="title" :minWidth="50" :flex="1"></nv-grid-col>
<nv-grid-col headerName="정렬필드" field="sortField" sortKey="sortField"></nv-grid-col>
<nv-grid-col headerName="언버스" field="field1"></nv-grid-col>
</nv-grid>