0

私はjqueryを初めて使用し、特にjqGridとそのサブグリッドを使用した経験がありません.

単純なグリッドが機能するようになりましたが、実際には subGrid が必要です。グリッドに「連絡先」を表示しています。各連絡先には、関連する「アクション」があります。サブグリッドに表示される「アクション」が必要です。

以下は、ビューに戻ってくる json で、関連付けられた「アクション」を持つ「連絡先」があります。「連絡先」オブジェクトには、「アクション」オブジェクトのリストがあります。

{
 "total" : "10",
 "page" : "1",
 "records" : "78",
 "rows" : [ {
   "comment" : null,
   "givenName" : "Contact A",
   "familyName" : "A",
   "actionSet" : [ {
      "actionID" : 1,
      "actionDueDate" : "2012-12-08",
      "actionNote" : "Action 1"
     }, {
      "actionID" : 2,
      "actionDueDate" : "2012-12-08",
      "actionNote" : "Action 2"
   } ],
   "contactID" : 1,
   "streetName" : null,
   "city" : null,
   "streetAddress" : null,
   "postalCode" : null
}    ...]

}

グリッドには、JSON を取得して取得する URL がありますが、これで問題ありません。

jq("#grid").jqGrid({
url:'/getrecords.do',
datatype: 'json',
mtype: 'GET',

私が混乱しているのは、既存のJSONからサブグリッドのデータを取得する方法です(各「連絡先」に関連付けられた「アクション」がjsonで返されるため).

subGridRowExpanded: function(subgrid_id, row_id) { 
 var subgrid_table_id, pager_id; 
 subgrid_table_id = subgrid_id+"_t"; 
 pager_id = "p_"+subgrid_table_id; 
 $("#"+subgrid_id).html("<table id='"+subgrid_table_id+"' class='scroll'></table><div id='"+pager_id+"' class='scroll'></div>"); 
 jQuery("#"+subgrid_table_id).jqGrid({ 
        url:"/getrecords.do"+row_id, 
        datatype: "xml", 

どんな助けでも大歓迎です。

アドフォよろしく。

4

1 に答える 1

1

jqGrid への呼び出しでは、マッピングを行うために、オプション "subGrid: true" と不適切なパラメーターを含む "subGridModel" オプションを渡す必要があります。

jq("#grid").jqGrid({
    url:'/getrecords.do',
    datatype: 'json',
    mtype: 'GET',
    subGrid: true,
    subGridModel: {
        // Your Mapping Here
    }
.
.
.

ここから取得: http://www.trirand.com/jqgridwiki/doku.php?id=wiki:subgrid

于 2012-12-18T20:39:37.323 に答える