jqGrid navGird edit add del 시 데이터 컨트롤 방법
jqGrid의 navGrid를 사용해 CRUD를 할때
라이브러리를 적용한 inputbox 값이 서블릿단으로 매개변수가 전달이 안되는 경우가 있습니다.
예를 들어 dateRangePicker 나 timepicki 를 적용해 입력받을 때 해당 값이 undefined로 전달이 됩니다.
colModel에 아래의 Link 처럼 설정을 하면, 추가, 수정 클릭 시 해당 라이브러리가 적용되는데,
값은 전달이 되지 않죠.
Link : jqGrid dataType json CRUD + filterToolbar + dateRangePicker 5부 기간 조회 dateRangePicker설정
이 데이터를 바인딩 하기 위해서는 editData 옵션을 사용합니다.
navGrid 설정쪽에 추가해 주면 되는데요, 아래의 소스를 참고하세요.
grid.jqGrid('navGrid', '#'+gridOption.pager,
{
edit : true,
add : true,
del : true,
search : false,
},
{
url : gridOption.editUrl,
afterComplete:function(data) {
jqGridFunc.tableReload(data, '수정');
},
recreateForm: true,
closeAfterEdit: true,
errorTextFormat: function (data) {
return 'Error: ' + data.resultMsg;
},
editData : {
bttStartTime : function(){
return $('#bttStartTime').val();
}
}
},
{
url : gridOption.addUrl,
beforeShowForm: function ($form) {
$form.find(".FormElement[disabled]").prop("disabled", false); //신규등록시 id값 disabled false 설정
},
afterComplete:function(data) {
jqGridFunc.tableReload(data, '저장');
},
closeAfterAdd: true,
editData : {
bttStartTime : function(){
return $('#bttStartTime').val();
}
}
},
{
url : gridOption.delUrl,
afterComplete:function(data) {
jqGridFunc.tableReload(data, '삭제');
},
delData : {
brtId : function(){
const selId = $('#'+listNm).jqGrid('getGridParam', 'selrow');
const divId = $('#'+listNm).jqGrid('getCell', selId, 'brtId');
return divId.replace(/-9/,'');
},
bttType : function(){
const selId = $('#'+listNm).jqGrid('getGridParam', 'selrow');
const cdId = $('#'+listNm).jqGrid('getCell', selId, 'bttType');
return cdId.replace(/-9/,'');
},
dptcSeqno : function(){
const selId = $('#'+listNm).jqGrid('getGridParam', 'selrow');
const cdId = $('#'+listNm).jqGrid('getCell', selId, 'dptcSeqno');
return cdId.replace(/-9/,'');
}
}
}
)
grid.jqGrid('filterToolbar',filterOption);
this.tblResize(listNm);
},
위의 소스를 보시면
edit와 add 옵션에는 editData를, delete 옵션에는 delData object가 추가된 것을 보실 수 있습니다.
이곳에서 넘길 데이터의 옵스젝트를 만들어주면 되는데요,
신규/수정 시에는 해당 id의 value값을, 삭제시에는 클릭한 행의 데이터를 넘기도록 되어있습니다.
추천 그리드 ▼
Link : https://aljjabaegi.tistory.com/593
[VanilaJS Free Grid library] Aljjabaegi Grid Grand Open
[Free Grid library] Aljjabaegi Grid Grand Open 여러 무료 라이브러리를 사용해오다가 많은 요구사항에 맞추어 커스텀하기 어려워 직접 만든 그리드를 공개합니다. 페이징, 정렬, 단일조회, 복수조회,
aljjabaegi.tistory.com
'Programing > jQuery' 카테고리의 다른 글
jQuery 동적 객체의 이벤트 중복 문제 (0) | 2018.05.21 |
---|---|
jquery 업로드할 이미지 미리보기 image preview URL.createObjectURL (0) | 2018.03.20 |
jqGrid 조회 버튼 클릭 시 조회 방법, 페이지 최초 로딩시 조회 안되게 하는 방법 (0) | 2018.03.07 |
jquery plugin download jquery 플러그인 검색 다운 사이트 (0) | 2018.02.08 |
jquery ajax loading bar, ajax 로딩바 나타내기 blockUI 적용방법 (0) | 2018.01.25 |
댓글