Translate

[jqGrid] ColModel 옵션(API) 설명







실습 jqGrid 버전: CDN 제공하는 v4.6 버전으로 테스트



jqGrid 에서 가장 중요한 부분인 ColModel API

jQuery("#gridid").jqGrid({
...
   colModel: [ {name:'name1', index:'index1'...}, {...}, ... ],
...
});

* name 속성은 필수이며, getColProp/setColProp 메소드를 이용해 가져오거나 수정이 가능하다.

colModel 옵션
1004lucifer
Property Type Description Default
align string Body 셀 안의 데이터 위치, Header 셀 해당 안됨
ex) left, center, right
left
cellattr function 이 함수는 데이터를 생성하는 동안 셀에 속성을 동적으로 추가한다.
예를들어 Table cell의 모든 유효한 속성을 사용하거나 다른 속성을 갖는 스타일 속성을 사용할 수 있다.
이 함수는 문자열을 반환해야 하며 아래와 같은 매개변수가 전달된다.
- rowId: row's id
- val: 셀에 추가될 값
- rawObject: row data object
- cm: colModel에서 컬럼 리스트의 모든 프로퍼티
- rdata: row에 삽입될 데이터의 value
 (colModel 에서 data1 이라는 이름이 있다면 data1:value 형식의 array)

ex)
function (rowId, val, rawObject, cm, rdata) {
 if (rawObject.prop1 == 'hour') {
   return 'colspan=2, style="color: red;"';
}
null
classes string 컬럼에 클래스 속성 추가
2개 이상인경우 공백으로 구분한다.
ex) 'class1 class2'

그리드에 'ui-ellipsis' 라는 미리 정의된 class가 있는데 해당 class를 적용하면 특정row를 생략시킬 수 있다.
empty string
datefmt string editrules {date:true} 인경우 date format 지정가능
PHP와 비슷한 날짜형식을 사용하며 슬래시(/), 대시(-), 점(.) 기호를 date 구분자로 지원된다.
y,Y,yyyy for four digits year
YY, yy for two digits year
m,mm for months
d,dd for days.
(Array Data 참고)
ISO Date
(Y-m-d)
defval string 검색필드의 기본값.
이 옵션은 사용자정의검색(Custom Search)에서만 사용가능하며 초기검색으로 설정된다.
empty
editable boolean 필드의 편집가능여부 지정.
이 옵션은 cell, inline, form 모듈에서 사용이 가능하다.
false
editoptions array edittype option에 대한 속성에서 허용가능한 옵션의 배열 속성을 추가
ex)
1. <input type="text" ...../>
 - editoptions: {size:10, maxlength: 15}
 => <input type="text" size="10" maxlength="15" />
2. <input type="checkbox" .../>
 - editoptions: { value:"Yes:No" }
 => <input type="checkbox" value="Yes" offval="No".../>
empty array
editrules array editable 필드의 rule을 정한다.
대부분 서버에 값을 전송하기전에 validate 용으로 사용됨
ex) editrules:{number:true, required:true....}
empty array
edittype string inline과 form 편집에서 사용할 유형을 설정
ex) text, textarea, select, checkbox, password, button, image, file
text
firstsortorder string 설정 시 해당 열이 첫번째로 정렬되며, 이후에 보통 토글로 컬럼 소팅이 된다.
ex) asc, desc
null
fixed boolean shrinkToFit 옵션과 같이 true 설정 시 컬럼의 width 값이 재계산 되지 않는다.
또한 그리드 width를 변경하기위해 setGridWidth 메소드를 사용해도 width값이 변경되지 않는다.
false
formoptions array form 편집의 다양한 옵션을 정의한다. (form 옵션 참고) empty
formatoptions array 특정 컬럼에 대해서 포멧옵션을 정의하며, 언어파일을 덮어쓴다. (Formatter 참고) none
formatter mixed 필드의 형식(포멧)을 제어하기위한 미리 정의된 타입(string)이거나 사용자정의 function 이름.
(Formatter 참고)
none
frozen boolean true로 설정 시 setFrozenColumns 메소드를 호출 후 컬럼이 고정된다. false
hidedlg boolean true 설정 시 사용자가 컬럼을 표시/숨김 설정하는 모달대화상자에 해당 컬럼이 나타나지 않는다. false
hidden boolean 컬럼 초기화 시 숨겨질지 여부를 정의한다. false
index string 정렬할 때 사용할 index이름. sidx 파라메터로 전달된다. empty string
jsonmap string 가져온 json 데이터에 대해서 컬럼에 json 매핑을 정의한다. none
key boolean 서버에서 받아온 (readers에 정의한)id를 덮어쓴다.
설정되는 id는 고유한 row id 이어야 하며, 이 속성은 하나의 컬럼에만 포함이 될 수 있다.
이 옵션은 readers 보다 우선순위가 높다.
하나이상의 key가 있는경우 첫번째만 사용되며 두번째키는 무시된다.
false
label string colName 배열이 비었을 때 컬럼의 제목을 정의한다.
colName 배열과 이 옵션이 모두 정의되지 않으면 컬럼 제목은 name 속성에서 가져온다.
none
name string 그리드에서 컬럼의 고유한 name을 설정하며, 이 속성은 필수로 설정해야 한다.
다른 속성/이벤트 이름과 subgrid, cb, rn 은 예약어로써 사용을 할 수 없다.
Required
resizable boolean 컬럼의 resize 여부 정의 true
search boolean search 모듈이 사용될 때 해당 컬럼의 검색을 활성화/비활성화 여부를 정의한다. (검색기본구성 참고) true
searchoptions array 검색 시 사용할 검색기본구성에 대해 검색옵션을 정의한다. empty
sortable boolean 소팅 가능여부를 정의한다. true
sortfunc function datatype 설정이 local인 경우 사용자정의 정렬을 수행하는 사용자정의함수이다.
a, b, direction 이렇게 3개의 매개변수가 전달된다.
a, b: 이전/이후 비교가능한 값
direction: 오름차순/내림차순을 알수 있는 1 / -1 값
이 함수의 반환값은 1, -1, 0 이렇게 3개중에 하나이어야 한다.
null
sorttype mixed datatype 설정이 local인 경우 사용되며, 컬럼에 적당한 소팅유형을 정의한다.
가능한 값은 아래와 간다.

int/integer - for sorting integer
float/number/currency - for sorting decimal numbers
date - for sorting date
text - for text sorting
function - defines a custom function for sorting.
function 에는 소팅될 값을 매개변수로 전달하며, 마찬가지로 값을 반환해야 한다. (Array Data 참조)
text
stype string 검색할 때 element의 타입을 정의한다. (검색기본구성 참고) text
surl string 사용자정의 검색 및 edittype:'select' 인 경우에만 사용가능하며, select 로 구성된 값을 가져오기 위한 url을 기술한다. empty string
template object colModel의 유효한 속성을 설정한다.
이 옵션은 컬럼모델의 기본값을 쉽게 덮어쓸 수 있다.
(cmTemplate 옵션을 참고)
null
title boolean false 설정 시 마우스로 cell을 오버(가리킬때) 시 타이틀이 나타나지 않는다. true
width number 컬럼의 초기 width 값(픽셀) 설정하며, 퍼센트로 설정할 수 없다. 150
xmlmap string 가져온 xml데이터에 대해서 컬럼에 xml 매핑을 정의한다. CSS형식을 사용한다.(데이터조작 참고) none
unformat function 편집을 사용할 때 cell의 값을 unformat 하는 사용자정의 함수. (사용자정의 Formatter 참고)
(이 함수는 소팅할때도 호출이 되며 반환값은 소팅으로 비교된 값이어야 한다.)
null
viewable boolean viewGridRow 메소드가 활성화 된 경우에만 사용가능하며, false 설정 시 컬럼이 view Form에 보여지지 않는다. true


name, width, resizable, label 옵션은 그리드가 구성된 이후에 동적으로 변경 할 수 없는 옵션이며, 변경된경우 변경사항이 적용되지 않거나 그리드 오류가 발생한다.
(label 은 메소드를 이용하여 변경 가능)






참고
 - http://www.trirand.com/jqgridwiki/doku.php?id=wiki:colmodel_options



댓글