jqgrid verschachteltes Untergrid Untergrid der 4. Ebene gibt immer die erste Zeilen-ID des Untergrids zurück
jqGrid v4.3.2
ie9
win7enterprise
Ich benutze den folgenden Code, um Subgrids zu generieren:
http://www.trirand.com/blog/jqgrid/jqgrid.html -> Erweitert -> Gitter als SubGrid
Ich mache das und ich habe
Subgrid der ersten EbeneOK
2nd Level SubgridOK
3rd Level SubgridOK
Subgrid der 4. EbeneEs wird das Subgrid OK für jede Zeile des 3. Lvl-SG geladen, es werden jedoch nur Daten der ersten Zeilen-ID des 3. Lvl-SG angezeigt
Wenn ich die Entwicklertools überprüfe, sehe ich, dass die Anfrage immer die ID der ersten Zeile des dritten Teilrasters sendet. Ich weiß, wie ich benutzerdefinierte Parameter mit postData anhängen kann, die ich bereits ausprobiert habe, und auch diese Antwort von Oleg KpostData für Subgrid in JQGRID funktioniert nicht? (Dieser funktioniert in meinem Fall nicht, Daten werden der Anfrage nicht hinzugefügt)
Ich habe versucht, die Zeilen-ID aus den folgenden Ereignissen zurückzugeben, aber kein Glück, sie gibt immer noch die erste Zeilen-ID des dritten Unterrasters zurück, und daher gibt das untergeordnete Unterraster für jede Zeile im dritten Unterraster immer dieselbe zurück.
<code>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 </code>
Ein weiteres seltsames Verhalten ist, dass wenn ich auf eine Zeile im Subgrid der dritten Ebene klicke, nur die erste Zeile ausgewählt wird.
Nein, die Verwendung von Treegrid ist leider keine Option.
Ich denke daran, ein Klickereignis auf das Plus-Symbol (erste Zelle) jeder Zeile des Subgrids der 3. Ebene zu binden und eine expandSubGridRow auszulösen, aber die Frage bleibt, wie ich die Zeilen-ID der angeklickten Zeile erhalteder dritten Ebene Subgrid?
Mit freundlichen Grüßen und vielen Dank im Voraus, jede Hilfe wird sehr geschätzt.
<code>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} ] }); } }); } }); } }); </code>