2010-07-29 8 views
2

나는 ASP.NET wrapper for JqGrid을 사용하고 있습니다. 그리드의 일부인 events (예 : gridComplete, resizeStop)에 대한 핸들러를 프로그래밍 방식으로 연결하고 싶습니다. 내가 본프로그래밍 방식으로 JqGrid 이벤트를 처리하는 방법은 무엇입니까?

모든 예제는 그리드 개체를 만들 때 옵션의 일환으로 이벤트를 철사가 - 예를 들면 :

$("#gridid").jqGrid({ 
    ... 
    onSelectRow: function(){ ... }, 
    ... 
}); 

그러나, ASP.NET 구성 요소는 초기 설정을위한을 수행합니다 나를. gridInitialized과 같은 구성 요소의 일부 클라이언트 측 처리기를 사용자 정의 할 수 있습니다. 그러나 (기괴하게) 이벤트의 작은 부분 집합 만이 이런 식으로 노출됩니다.

So : 그리드가 초기화되면 핸들러를 이벤트에 첨부 할 수 있습니까? 나는 구문

$grid.bind("resizeStop", function() { alert("!!") }) // DOESN'T WORK 

바인딩

$grid.setGridParam("resizeStop", function() { alert("!!") }); // DOESN'T WORK 

$grid.resizeStop = function() { alert("!!") }; // DOESN'T WORK 

물론 표준의 jQuery 이벤트 같은 것을 시도했다 그러나이 중 어느 것도 작동하지 않습니다.

아이디어가 있으십니까?

+1

ASP.NET 래퍼의 불완전 성은 정말 정말 실망 스럽습니다. 래퍼를 사용하면 완전히 액세스 할 수없는 일반 오픈 소스 구성 요소를 사용하여 할 수있는 일이 너무 많습니다. –

+0

동의합니다. 나는 완전히 불완전한 방법을 알고, 때때로 쓸모가없는 래퍼가 실제로 있다는 것을 알고 Trirand에서 래퍼를 구입하는 것을 선택하지 않았을 것입니다. 이 일을하게 되었습니까? – Cody

답변

2

변경 이벤트 처리기는 setGridParam 메서드와 관련하여 수행 할 수 있습니다 (가까운 질문 Add an event handler to jqGrid after instantiation 참조). 그것은 commertial과 jqGrid의 오픈 소스 버전에서 같은 방식으로 작동해야합니다. 다음을 시도해보십시오.

$('#gridid').jqGrid('setGridParam', { resizeStop: function(newwidth, index) { 
    alert("The column with the index " + index + " has now the width " + newwidth); 
} }); 
+0

이것은 작동하지 않습니다. 이 답변에 대해 투표를 한 사람이 실제로 응답을 얻었는지 확실하지 않지만 내 경우에는 아무런 반응이 없습니다. – Cody

+0

@Cody : 답은 매우 오래된 것이지만 모두 여전히 작동합니다. [데모] (http://www.ok-soft-gmbh.com/jqGrid/setResizeStop.htm)를보고 열의 크기를 조정하십시오. 위의 코드로 설정된 경고가 표시됩니다. – Oleg

+0

감사. 이 방법은 효과가 있는데, 제 경우에는 매개 변수가 잘못되었습니다. – Cody

관련 문제