我有這樣一個結構的XML文件:的jqGrid與亞格和單獨的XML文件作爲輸入
<products>
<product>
<id>P1</id>
<name>PRODUCT 1</name>
<accessories>
<accessory>
<id>acc_1</id>
<name></name>
</accessory>
<accessory>
<id>acc_2</id>
<name></name>
</accessory>
<accessory>
<id>acc_3</id>
<name></name>
</accessory>
</accessories>
</product>
<product>
<id>P2</id>
<name>PRODUCT 2</name>
<accessories>
<accessory>
<id>acc_1</id>
<name>ACC 1</name>
</accessory>
<accessory>
<id>acc_2</id>
<name>ACC 2</name>
</accessory>
</accessories>
</product>
</products>
我想有所有產品在一個子網格使用的jqGrid和配件網格每個產品的(帶有加號圖標)。
對於我使用以下JS:
var myGrid = $("#prods").jqGrid({
url: 'products.xml',
datatype: "xml",
colNames:["id", "Name"],
colModel:[
{name:"id", key: true, index:"id", width:90, xmlmap:"id", sortable:true},
{name:"Name", index:"Name", width:100, sortable:true, xmlmap:"name"}}
],
width: 300,
height:480,
ignoreCase: true,
viewrecords: true,
loadonce: true,
sortname: 'Name',
sortorder: "asc",
sortable: true,
pager: "#pager",
xmlReader: {
root: "products",
row: "product",
repeatitems: false,
id: "sku",
subgrid: {
root: "products>product>accessories",
row: "accessory",
repeatitems:false,
id: "id"
}
},
caption: "Products",
subGrid: true,
subGridRowExpanded: function(grid_id, row_id) {
var subgrid_table_id;
subgrid_table_id = grid_id + "_t";
jQuery("#" + grid_id).html("<table id='" + subgrid_table_id + "' class='scroll'></table>");
jQuery("#" + subgrid_table_id).jqGrid({
colNames: [ 'Id', 'Name'],
colModel: [
{name:"accid",index:"accid",width:80, xmlmap:"id"},
{name:"accname",index:"accname",width:80, xmlmap:"name"}
],
height: 50,
rowNum:10,
});
}
});
它不顯示子記錄。 我也試圖把相同的根/行放在子網格中作爲父網格,並使用如下ID作爲參考:「產品>產品>附件>附件> ID」,但它不起作用。
任何人都已經找到了一個可行的例子(實際上我的數據源是grid/subgrid的同一個文件),就像我想要的那樣。
希望這個已經夠清楚了,否則請不要猶豫,爲要求更多細節發表評論。
非常感謝。第二種解決方案對我的情況來說更加優雅。它現在完美。 – 2011-03-31 08:57:30
@ruffp:不客氣!我發現第二種方式也更好,但是我包含了第一種方法,以顯示爲什麼xmlReader的'subgrid'部分存在,以及如何與其他參數一起使用,例如'subGridUrl','subgridtype'和'subGridModel '。在你最初的代碼示例中,你使用了兩種方式的混合('subGridRowExpanded'和'xmlReader.subgrid')。所以在這個例子中,我試圖向你解釋兩種方法的區別。 – Oleg 2011-03-31 09:06:36
我確實使用JSON來實現它。讓我嘗試將數據類型,datastr和xmlReader替換爲json,jsonstring和jsonreader並參閱。謝謝。這非常有幫助! – 2013-01-28 06:49:57