2011-11-28 2 views
1

jqgrid 내에 간단한 subgrid를 구현하여 인보이스에 대한 광고 항목을 표시하려고했습니다. 마침내 하위 개체를 채울 수 있지만 각 하위 개체는 데이터 항목의 모든 항목 인 광고 항목의 동일한 목록을 표시합니다. 내가 여기를 디버깅하는 방법을 확실히 모르겠지만jqgrid subgrids 각각 json 데이터의 모든 항목 표시

내 잠재적 ideas-

  • 중 일부는 GET 쿼리에 응답 JSON 저장소가되는 방법 (안)에 문제가 있습니까?

  • 하위 그리드 데이터 내에서 어떤 필드가 "foriegn key"인지 정의하지 않았기 때문에 그런가요?

  • 는 난 단지 적절한 데이터 (안 모든 라인 항목)와 JSON 데이터를 가리 키도록 subGridUrl가 필요하십니까 광고 항목에 대한

예 JSON : 주문의 ID에 ORDER_ID 점

주요 그리드 항목에 대한
{ 
    "total": 1, 
    "records": 6, 
    "rows": [ 
    { 
     "description": "PART X", 
     "order_id": 2, 
     "qty": 5, 
     ... more fields ... 
     "id": 1 
    }, 
    ... more ... 
    ], 
    page: 1 
} 

JSON :

{ 
    "total": 1, 
    "records": 2, 
    "rows": [ 
    { 
     "order_no": 2, 
     ... more fields ... 
     "id": 2 
    }, 
    ... more ... 
    ], 
    page:1 
} 

AP = 연합 뉴스 내 jqqrid 스크립트의 plicable 부품 :

jQuery("#mygrid").jqGrid({ 
    ... cosmetic stuff for main grid ... 
    url: "/my_json_url/", 
    datatype: "json", 
    colNames:['Order',...], 
    colModel:[ 
     {name:'order_no', index:'order_no'}, 
     ... 
    ], 
    jsonReader: { 
     repeatitems:false, 
     root: "rows", 
     page: "page", 
     total: "total", 
     records: "records", 
     cell: "", 
     id: "id", 
     subgrid: {root: "rows", cell:"", repeatitems: false} 
    }, 
    prmNames: {subgridid: "order_id"}, 
    subGrid: true, 
    subGridUrl: "/json_url/to_line_items/", 
    subGridModel: [{ name : ['qty','description'], 
        width: [100,100] }] 
})navGrid(some options); 

답변

1

나는 URL "/json_url/to_line_items/" 아래의 코드가있는 jqGrid에서 보낸 id 매개 변수를 사용하지 않는 것이 가정합니다. 사용자가 서브 그리드를 확장하면 행의 rowid가 subGridUrl의 추가 매개 변수로 사용됩니다. 그건 그렇고 난 order_id 다른 그리드의 값을 id 값으로 사용하는 이유를 이해하지 못합니다. order_id=10으로 행을 확장하는 경우 현재 id=1 매개 변수가 subGridUrl에 추가됩니다. 그것은 당신이 원하는 것입니까?

+0

확장 프로그램을 클릭하면 기본 행의 ID가 GET 요청'? id = value'으로 전송된다는 것을 방화범에서 볼 수 있습니다. 내 생각에, 이것은'? order_id = value' 일 필요가 있지만 매개 변수 이름을 변경하는 방법을 모르겠습니다. jsonReader 아래의 subgrid 매개 변수에서 'id'를 'order_id'로 변경하는 것은 도움이되지 않습니다. –

+1

@j_syk :'id' 이름을 변경하려면 올바른 매개 변수로 GET 요청을 변경했지만 데이터가 필터링되지 않는 jqGrid 매개 변수'prmNames : {subgridid ​​: "order_id"}' – Oleg

+0

을 사용해야합니다. 내 json 매장과 관련하여이 문제가 발생하지 않았습니다 ... 잠시 둘러 보겠습니다. –