2014-02-05 3 views
0

jqGrid를 사용하고 사용자가 행을 삭제할 수있게하려는 작업 처리기를 설정했습니다. URL에 지정된 콜백이 호출되고 있지만 삭제할 행을 알 수 있도록 행 ID를 URL 처리기로 전달하는 방법을 알 수 없습니다.jqGrid에서 행을 삭제할 때 ID를 전달하는 방법은 무엇입니까?

사람은 이에 대한 해결책을 가지고?

<script> 
$(document).ready(function() { 
    $("#list2").jqGrid({ 
     url:'datahandler', 
     datatype: "json", 
     colNames:['Name','Description', 'Data (Abbreviated)', 'Actions'], 
     colModel:[ 
      {name:'name',index:'name', width:300, resizeable:true}, 
      {name:'description',index:'description', width:300, resizeable:true}, 
      {name:'data',index:'data', width:600, resizeable:true}, 
      {name : 'actions', sortable:false, index: 'actions', formatter:'actions', 
       formatoptions: { 
        keys: true, 
        editbutton: false, 
        delOptions: { url: 'deleterow' } 
           }} 
     ], 
     rowNum:10, 
     rowList:[10,20,30], 
     pager: '#pager2', 
     sortname: 'name', 
     viewrecords: true, 
     sortorder: "desc", 
     caption:"PVSyst Data", 
    }); 
    $("#list2").jqGrid('navGrid','#pager2',{edit:false,add:false,del:false}); 
}); 
</script> 

답변

1

그리드를 채우는 데 정확히 사용하는 형식과 사용하는 ROWID가 명확하지 않습니다. 데이터가 잘못 채워지고 서버 측에서보고자하는 ROWID 대신 1, 2, 3 값이 사용될 경우 일반적인 오류가 발생합니다. 위의 코드는 어떤 식 으로든 URL "deleterow"에 대한 HTTP POST 요청을 delOptions에 지정합니다. 데이터는 (here 참조) 설명서에 설명 된 형식을 갖습니다. 예를 들어 삭제 된 행의 id는 "123"는 다음 URL "deleterow"에 게시 된 데이터가

oper=del&id=123 

당신은 단지 서버 측에서 id 매개 변수의 독서를 구현할 필요가있을 것입니다 경우. 매개 변수 이름의 이름을 id에서 myId과 같은 다른 텍스트로 변경하려면 jqGrid optionprmNames: { id: "myId" }을 사용할 수 있습니다. 그 후 게시 된 데이터는 다음과 같습니다.

oper=del&myId=123 
+0

안녕하세요 올렉, 의견을 보내 주셔서 감사합니다. URL 또는 스트림의 데이터로 보낸 id가 표시되지 않습니다. 신분증을 보낼 수 있도록 HTML에 필요한 것이 더 있습니까? –

+0

@fredbasset : 할 일이 없습니다. 그런데 그리드에서 정의한''actions'' 컬럼을 추가했고 [Fiddler] (http://www.telerik.com/download/fiddler)에서 HTTP POST 요청이 끝난 것을 볼 수있었습니다. 요청에'oper = del & id = 123'이 포함되어 있습니다. Fiddler, IE의 Developer Tools, Chrome 또는 기타 도구를 사용하여 HTTP 트래픽을 추적하는 것이 좋습니다. – Oleg

+0

업데이트 : 이제 양식 데이터로 oper 및 id를 가져옵니다. 그러나 id는 테이블 행의 숫자 인덱스이며, 실제로 원하는 것은 행의 첫 번째 열의 이름입니다. 그리드를 어떻게 보내나요? –

관련 문제