2013-12-11 3 views
4

나는 보고서를 생성하기 위해 JqGrid를 사용하는 ASP.NET mvc 프로젝트를 개발 중이다. 보고서 생성을 위해 나는 2 개의 다른 보고서를 생성하고 있습니다. 두 번째 보고서는 첫 번째 보고서의 값을 기반으로 생성됩니다. 내가있는 jqGrid의 OnCellSelect 이벤트를 사용하고 열 값을 얻기 위해 ,JqGrid : onCellSelect 이벤트에서 모든 열 값을 가져 오는 방법은 무엇입니까?

이벤트 :

다음 셀을 선택 이벤트 난 단지 ROWID를 얻고, 내 키를 선택한 셀 내용의
$('#Report1').jqGrid({ 
... 
.. 
colNames: ['name1','name2','name3','name4','name5','name6','name7'], 
         colModel: [ 
         {....}, 
         { ... }, 
         { ...}, 
         {...}, 
         { ...}, 
         { ...}, 
         { ... } 
        ], 
         jsonReader: { 
          root: 'DD_data', 
          id: 'name1', 
          repeatitems: false 
         }, 
         pager: $('#pager'), 
//Event fires when clicked on name7 
onCellSelect: function (rowid, index, contents, event) { 

//Code for generating Second Report based on First report data// 
$('#Report2').jqGrid({ 
... 
... 
}); 
} 
}); 

.

그러나 두 번째 보고서를 생성하려면 선택한 열의 name2, name3 및 name4 데이터도 필요합니다.

JqGrid에서 가능합니까?

도움을 주시면 감사하겠습니다.

답변

8

getCell 또는 getRowData을 사용하면 rowid에 기반한 행의 데이터를 가져올 수 있습니다. datatype: "local"을 사용하거나 #Report1 격자에 loadonce: true 옵션을 사용하는 경우 getRowData 이상의 몇 가지 장점을 가지고 getLocalRow을 사용할 수 있지만 데이터가 내부 data 매개 변수 안에 로컬로 저장된 경우에만 작동합니다. 매개 변수는 datatype"json" 또는 "xml"이 아니거나 "json" 또는 "xml"인데 loadonce: true 옵션이 사용 된 경우에만 채워집니다.

사용할 수있는 가장 간단한 코드는

onCellSelect: function (rowid) { 
    var rowData = $(this).jqGrid("getRowData", rowid); 
    // now you can use rowData.name2, rowData.name3, rowData.name4 ,... 
} 

getLocalRow의 사용법 (성능 이점 포함) 몇 가지 장점을 가질 수있을 것입니다,하지만 당신은 당신이에 사용 datatypeloadonce와 함께 작동하는지 확인해야합니다 그리드 #Report1.

+0

덕분에 .. – Cyber

+0

@Cyber ​​: 천만에! – Oleg

관련 문제