사내 관리자 페이지에서 자료를 보여줄떄 주로 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: [102030],
        multiselect: false,
        altRows: true,
        altclass: 'EvenRowClass',
        colNames: [1234,],
        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
내가달이다

,