사내 관리자 페이지에서 자료를 보여줄떄 주로 JQgrid 를 이용하고있습니다 최근 클라이언트의 요구사항이 있었는데
다중 선택을해서 일괄로 해당회원들을 승인을 해주고 싶다고 했다
크게 어려운문제가 아니고 기존 프로세스나 로직이 있으니 그걸 이용해서 만들게 됬다
우선 해야될일은 그리드에 다중셀렉 기능을 추가를해주었다
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | jQuery("#GridMaster").jqGrid({ url: '' datatype: 'json', mtype: 'POST', height: 500, rowNum: 0, hidegrid: false, rowList: [10, 20, 30], multiselect: false, altRows: true, altclass: 'EvenRowClass', colNames: [1, 2, 3, 4,], colModel: [ { name: 'SEQ_NO', index: 'SEQ_NO', width: 80, sortable: false, align: 'center' }, { name: 'NAME', index: 'NAME', width: 70, sortable: false, align: 'center' }, { name: 'ORDER_CD', index: 'ORDER_CD', width: 1, sortable: false, align: 'center', hidden : true }, { name: 'ORDER_SEQ', index: 'ORDER_SEQ', width: 1, sortable: false, align: 'center', hidden: true } ], viewrecords: true, multiselect: true }); | cs |
multi select : true // 다중셀을 선택할수있도록 해주는 옵션입니다
1 2 3 4 5 6 7 8 9 10 11 | .navButtonAdd('#pageer1',{ caption:"Confirm", title:"Confirm", id : "Confirm" buttonicon:"ui-icon-save", onClickButton: function(){ SaveConfirm(); }, position:"last" }) | cs |
하단바에 Confirm 이라는 버튼을 생성해준후 버튼 클릭스 SaveConfirm()을 실행시켜준다
1 | $("#GridMaster").getGridParam('selarrrow'); | cs |
그리드에서 체크된 row의 id값을 가져온다 ..
그후 for 문을 이용해 선택된 row id 값만큼 돌려준후 AJAX 비동기 통신을 해준다.
1 2 3 4 5 6 7 8 9 10 11 12 13 | var JsonArray = new Array(); var Json = new Object(); Json.Name = "name"; Json.Count = 2 ; JsonArray.push(Json); Json.Name = "name_2"; Json.Count = 3 ; JsonArray.push(Json); | cs |
JsonArray 배열을 생성시켜준후 Object 에 값을 입력후 JSON으로 Controller 로 데이터를 보내줄생각이다 ( 위의 데이터는 예제)
JSON.stringify(Json); // JSON 형태로 데이터를 보내준다
1 2 3 4 5 6 7 8 9 10 11 12 13 | public class temp_data { public string Name {get;set;} public int Count {get;set;} } public ActionResult temp (List<temp_data> temp) { foreach(var item in temp) { // save Logic } } | cs |
Controller 에서 데이터를 받아줄때 List 형식으로 받아주었다
Ajax 를 통해 전송된 데이터형식과 똑같은 클래스를 만들어 주고 List<> 형식으로 데이터를 받아준후 foreach 문을 돌려
save Logic 을 실행시켜준다
'ASP.NET MVC > jquery' 카테고리의 다른 글
Jquery :: 1 .empty() 텍스트 비우기 (0) | 2018.05.06 |
---|
WRITTEN BY