jqGrid v4.3.2
ie9
win7enterprise
次のコードを使用してサブグリッドを生成しています。
http://www.trirand.com/blog/jqgrid/jqgrid.html- >詳細->サブグリッドとしてのグリッド
私はこれをし、私は持っています
第1レベルのサブグリッドOK
第2レベルのサブグリッドOK
第3レベルのサブグリッドOK
第4レベルのサブグリッド第3レベルのsgのすべての行にサブグリッドOKをロードしますが、第3レベルのsgの最初の行IDのデータのみを表示します。
開発者ツールを確認すると、リクエストは常に3番目のサブグリッドの最初の行のIDを送信することがわかります。これは、すでに試したpostDataにカスタムパラメーターを追加する方法と、jqgridのサブグリッドに対するOlegKpostDataからのこの回答を知っています。動作していませんか?(これは私の場合は機能しません。データはリクエストに追加されません)
次のイベントからrowdidを返そうとしましたが、うまくいきませんでした。それでも3番目のサブグリッドの最初の行IDが返されるため、3番目のサブグリッドのすべての行に対して子サブグリッドは常に同じものを返します。
subGridRowExpanded //always returns first row id of the third grid
onSelectRow //doesn't fire if we click the + icon for expanding the subgrid
beforeSelectRow //doesn't fire at all
もう1つの奇妙な動作は、第3レベルのサブグリッドのいずれかの行をクリックすると、最初の行のみが選択されることです。
いいえ、treegridを使用することはできません。申し訳ありません。
3番目のレベルのサブグリッドの各行のプラスアイコン(最初のセル)でクリックイベントをバインドしてexpandSubGridRowを起動することを考えていますが、質問は残ります。3番目のレベルでクリックした行のROWIDを取得するにはどうすればよいですか。サブグリッド?
よろしくお願いいたします。よろしくお願いいたします。
jQuery("#listsg11").jqGrid({
url:'server.php?q=1',
datatype: "xml",
height: 190,
colNames:['Inv No','Date', 'Client', 'Amount','Tax','Total','Notes'],
colModel:[
{name:'id',index:'id', width:55},
{name:'invdate',index:'invdate', width:90},
{name:'name',index:'name', width:100},
{name:'amount',index:'amount', width:80, align:"right"},
{name:'tax',index:'tax', width:80, align:"right"},
{name:'total',index:'total', width:80,align:"right"},
{name:'note',index:'note', width:150, sortable:false}
],
rowNum:8,
rowList:[8,10,20,30],
sortname: 'id',
viewrecords: true,
sortorder: "desc",
multiselect: false,
subGrid: true,
caption: "Grid as Subgrid",
subGridRowExpanded: function(subgrid_id, row_id) {
var subgrid_table_id;
subgrid_table_id = subgrid_id+"_t";
$("#"+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','Line Total'],
colModel: [
{name:"num",index:"num",width:80,key:true},
{name:"item",index:"item",width:130},
{name:"qty",index:"qty",width:70,align:"right"},
{name:"unit",index:"unit",width:70,align:"right"},
{name:"total",index:"total",width:70,align:"right",sortable:false}
],
subGrid: true,
caption: "Grid as Subgrid",
subGridRowExpanded: function(subgrid_id2, row_id2) {
var subgrid_table_id2;
subgrid_table_id2 = subgrid_id2+"_t";
$("#"+subgrid_id2).html("<table id='"+subgrid_table_id2+"' class='scroll'></table>");
jQuery("#"+subgrid_table_id2).jqGrid({
url:"subgrid.php?q=3&id="+row_id2,
datatype: "xml",
colNames: ['No','Item','Qty','Unit','Line Total'],
colModel: [
{name:"num",index:"num",width:80,key:true},
{name:"item",index:"item",width:130},
{name:"qty",index:"qty",width:70,align:"right"},
{name:"unit",index:"unit",width:70,align:"right"},
{name:"total",index:"total",width:70,align:"right",sortable:false}
],
subGrid: true,
caption: "Grid as Subgrid",
subGridRowExpanded: function(subgrid_id3, row_id3) {
var subgrid_table_id3;
subgrid_table_id3 = subgrid_id3+"_t";
$("#"+subgrid_id3).html("<table id='"+subgrid_table_id3+"' class='scroll'></table></div>");
jQuery("#"+subgrid_table_id3).jqGrid({
url:"subgrid.php?q=4&id="+row_id3,
datatype: "xml",
colNames: ['No','Item','Qty','Unit','Line Total'],
colModel: [
{name:"num",index:"num",width:80,key:true},
{name:"item",index:"item",width:130},
{name:"qty",index:"qty",width:70,align:"right"},
{name:"unit",index:"unit",width:70,align:"right"},
{name:"total",index:"total",width:70,align:"right",sortable:false}
]
});
}
});
}
});
}
});