2012-01-20 2 views
1

대화 형 tables called jqGrid을 생성하는 jQuery 플러그인을 사용하고 있습니다.편집 버튼에 사용자 정의 함수가 바인딩 된 navbar/pager가있는 jqGrid

"editfunc"(페이지 아래 2/3 또는 3/4)을 사용하고 싶지만 어디서나 구현할 수있는 명확한 예는 찾을 수 없습니다. 나는 여러 가지 다른 일들을 시도했고 그들 모두가 나를 완전히 실패로 만든다.

가 명확하게하려면 테이블 생성은 다음과 같은 : 낮은 바라는 것을

enter image description here

은 "navpbar"또는 "호출기", 별도의 DIV의 API로 구현 문서는 "add", "edit", "delete"등과 같은 버튼에 사용자 정의 함수를 정확히 넣는 방법에 대한 문서가 상당히 불분명합니다 (어쨌든). 기본 기능을 작동시킬 수는 있지만 그럴 수는 없습니다. websearches,이 사이트 또는 실제 구현이 어떻게 생겼는지에 대한 API 문서를 통해 무엇이든 찾으십시오.

답변

3

jqGrid가 소스를 열었습니다. 코드에서 직접 모든 질문을 해결하는 데 도움이됩니다. 예를 들어 the lines을보십시오. 당신이 editfunc 콜백 함수를 정의하면 함수가 매개 변수로 선택된 행의 ID 대신 편집 대화 상자를 만드는 호출 할 것이다 그래서

var sr = $t.p.selrow; 
if (sr) { 
    if($.isFunction(o.editfunc)) { 
     o.editfunc(sr); 
    } else { 
     $($t).jqGrid("editGridRow",sr,pEdit); 
    } 
} else { 
    $.jgrid.viewModal("#"+alertIDs.themodal,{gbox:"#gbox_"+$t.p.id,jqm:true}); 
    $("#jqg_alrt").focus(); 
} 

: 당신은 네비게이터의 '편집'버튼을 클릭에 할 navGrid 것을 볼 수 있습니다 에 의해 editGridRow.

editGridRow에는 많은 사용자 정의 기능이 있습니다. navGridprmEdit 매개 변수는 editGridRow이 사용하는 옵션을 지정할 수 있습니다.

편집 양식을 표시하고 다른 GUI를 표시하지 않으려면 editfunc 콜백 기능을 사용할 수 있습니다. 예 :

$("#list").jqGrid('navGrid', '#pager', { 
    editfunc: function (rowid) { 
     alert('The "Edit" button was clicked with rowid=' + rowid); 
    } 
}); 

the demo을 참조하십시오. 행을 선택하고 '수정'버튼을 클릭하면 표준 수정 양식 대신 alert이 표시됩니다.

+0

내가 그랬던 것처럼 내가 맹세 할 수 있었다. 나는 월요일까지 내 책상으로 돌아 가지 않을 것이고 나는 이것이 어떻게 효과가 있었는지 알려줄 것이다. – Incognito

+0

@Incognito : 알겠습니다.하지만 어떻게 볼 수 있습니까? 내 데모 작품. 그래서 당신이 다른 방법으로 그것을 사용했다고 가정합니다. 친애하는. – Oleg

관련 문제