자바스크립트

동적 colModel

클라인STR 2016. 1. 5. 22:05

실제 운영중에 그리드에 레이블명을 DB상에서 가져와야 되는경우가 발생하여 사용하였다.

1
2
3
4
5
6
7
8
9
10
var gridOptions = {
 
    colModel : [
        
        { label: '지역'             , name'AREA_NAME'       , width :"70"  , align:'center'       , edittype  :'text'},
        { label: '시도'             , name'SIDE_NAME'       , width :"100" , align:'left'         , edittype  :'text'},                            
        { label: '시군구'           , name'SIGN_NAME'       , width :"70"  , align:'center'        , edittype  :'text'}
        
    ]
};
cs

 

1) 정적인 콜모델 정보를 선언한다.

 

1
2
3
4
<c:forEach var="list" items="${arrList}" >
   gridOptions.colModel.push({ label: "${list.name}"   , name"area_${list.code}"       , width :"70"  , align:'center'         , edittype  :'text'});
</c:forEach>
 
cs

 

2) 서버에서 읽어온 정보를 jstl를 이용하며 label, name 정보를 동적으로 생성한다.

 

 

1
2
3
4
5
6
7
8
 $("#grid1").jqGrid({
         url: '',
         datatype: "json",
         mtype: 'POST',
         jsonReader: { },                
         colModel :gridOptions.colModel,
         ..... (중략)....
     });
cs

 

3) 그리드 로드시 설정한 콜모델 정보를 배열형태로 셋 해준다.