2009-08-16 11 views
1

jqgrid와 함께 작업하고 있습니다. 그리드의 subgrid를 구현해야합니다. 아 격자에 대한jquery subgrid with json

<div class="ww90p"> 
<!-- class="sheet"--> 
<div class="" > 
    <table id="setcols" class="scroll"> </table> 
    <div id="psetcols" class="scroll"></div> 
</div> 
</div> 

$("#setcols").jqGrid(
    $.extend({}, jqGrid_normal, { 
    url: "/account/chartjson/?{{ query_fragment }}&nd="+new Date().getTime(), 
    caption: "&nbsp;", 
    colModel:[ 
     {name:'number', width:50, label: "Number", sortable:false }, 
     {name:'name', width:300, label: "Name", sortable:false }, 
     {name:'opening_date', label: "Opening Date", width:150, sortable:false }, 
     {name:'balance', label: "Balance", width: 100, sortable:false,align:'right' } 
    ], 
    pager: '#psetcols', 
    sortname: 'number', 
    sortorder: "desc", 
    multiselect: true, 
    viewrecords: true, 
    footerrow : true, 
    userDataOnFooter : true, 
    subGrid: true, 
    subGridUrl :"/account/subgridjson/?{{ query_fragment }}&nd="+new Date().getTime(), 
    subGridModel: [ 
      { name : ['number','name','opening_date','balance'], width : [55,200,80,80] } 
     ] 
})); 

JSON 파일 출력 : 다음과 같이 내 코드는

{ 
    rows: [ 
     {type: "4", number: "101", name: '<a href="/ledger/view_by_account?account_id=3">Bank (123456789 
)</a>', opening_date: "2009-05-12", balance: "0.000000"} 
    ] 
} 

을하지만 오류는 말한다 : 나는 이것을 극복 할 수

cur is undefined 
[Break on this error] for (var j=0;j<cur.length;j++) {......

. 어떤 사람이 나를 도울 수 있다면.

답변

1

나는 쉽게 덤프 발견 된 아 격자에 내장 즉석에서 새로운 그리드를 삽입하는 그들의 "아 격자로서의 그리드"예를 사용합니다

From their wiki:

subGrid: true, 
subGridRowExpanded: function(subgrid_id, row_id) { 
// we pass two parameters 
// subgrid_id is a id of the div tag created within a table 
// the row_id is the id of the row 
// If we want to pass additional parameters to the url we can use 
// the method getRowData(row_id) - which returns associative array in type name-value 
// here we can easy construct the following 
    var subgrid_table_id; 
    subgrid_table_id = subgrid_id+"_t"; 
    jQuery("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table>"); 
    jQuery("#"+subgrid_table_id).jqGrid({ 
     url:"subgrid.php?q=2&id="+row_id, 
     datatype: "xml", 
     colNames: ['No','Item','Qty','Unit','Total'], 
     colModel: [ 
     {name:"num",index:"num",width:80,key:true}, 
     {name:"item",index:"item",width:130}, 
     {name:"qty",index:"qty",width:80,align:"right"}, 
     {name:"unit",index:"unit",width:80,align:"right"},   
     {name:"total",index:"total",width:100,align:"right",sortable:false} 
     ], 
     height: 100%, 
     rowNum:20, 
     sortname: 'num', 
     sortorder: "asc" 
    });