2017-03-16 5 views
0

나는 this jceGrid를 사용하는 ace admin 동적 테이블 템플릿을 사용하고 있습니다. 데이터베이스에서 데이터를로드하고 단일 행 편집 및 삭제 작업을 수행했습니다. 그러나 템플릿이 다중 행 선택 기능을 제공하더라도 다중 행 삭제를 수행 할 수 없습니다. 편집, 삭제 쿼리에는 문제가 없습니다. 여러 행 ID가 전달되지 않는 문제가 있습니다. 여러 체크 박스를 선택하고 삭제 아이콘을 클릭에 edit.php 파일이 ace admin jqgrid 테이블에서 다중 행 선택을 구현하는 방법은 무엇입니까?

switch ($_POST["oper"]) { 
case "add": 
    // do mysql insert statement here 
break; 
case "edit": 
    // do mysql update statement here 
break; 
case "del": 
    // do mysql delete statement here 
break; } 

에서

jQuery(grid_selector).jqGrid({ 
// code to fetch dynamic JSON data  
editurl: "edit.php", 
multiselect: true, 
// some other code 
}); 

는 (템플릿에 이미 존재했다) 다음과 같은 이벤트가 발생합니다.

$(t, w).attr({ 
    title: m.deltitle || "", 
    id: e.id || "del_" + v 
    }).click(function() { 
    if (!$(this).hasClass(k.disabled)) { 
    var a; 
    o.p.multiselect ? (a = o.p.selarrrow,0 === a.length && (a = null)) : a = o.p.selrow,a ? $.isFunction(m.delfunc) ? m.delfunc.call(o, a) : $(o).jqGrid("delGridRow", a, e) : ($.jgrid.viewModal("#" + n.themodal, { 
            gbox: "#gbox_" + $.jgrid.jqID(o.p.id), 
            jqm: !0 
           }), 
    $("#jqg_alrt").focus()) 
    } 
    return !1 
}) 

나는 몇 시간 동안 템플릿 코드를 읽었지 만 초보자부터는 거의 이해할 수 없습니다. 여러 번 선택하는 방법을 제안하십시오.

+0

서버 코드 ('edit.php')의'case "del":'부분에 올바른 코드를 구현하기 만하면됩니다. jqGrid는 서버에 ** 쉼표로 구분 된 ** ROWID 목록을 보냅니다. 그러므로'id' 매개 변수의 값을'edit.php'에 보내고 모든 데이터를 따로 따로 삭제해야합니다. – Oleg

+0

@Oleg 정말 고마워요. –

+0

당신은 환영합니다! 나는 대답과 같은 정보를 게시 할 것이다. – Oleg

답변

0

서버 코드 (edit.php)의 일부인 case "del"에 올바른 코드를 구현하기 만하면됩니다. jqGrid는 쉼표로 구분 된 rowids 목록을 서버에 보냅니다. 따라서 id 매개 변수 값을 분할하여 edit.php으로 보내고 모든 데이터를 개별적으로 삭제해야합니다.