我在优秀的jqGrid插件中创建子网格时遇到了一个有趣的问题。主网格本身工作正常。但是,当我添加参数来创建子网格时,我得到新的第一列但没有得到加号。当我使用Firebug检查演示时,我看到一个href和几个类被添加到第一列。我在网格的第一列中没有看到这些类。这是代码:
$("#quotelist").jqGrid({
datatype:'xml',
url:'getQuotes',
mtype: 'GET',
postData:{"a":$("#AccountNumber").val(),
"op":"y",
"cl":"n",
"cd":"All",
"eq":"All",
"sess":$("#SessionID").val(),
"d":new Date().getTime()
},
colNames:['Origin Zip', 'Destination Zip', 'Equipment', 'Commodity'],
colModel:[
{name:'ozip', index:'ozip', title:false, width:140},
{name:'dzip', index:'dzip', title:false, width:40},
{name:'equipment', index:'equipment', title:false, width:40},
{name:'commodity', index:'commodity', title:false, width:40}
],
loadError:function(xhr, st, err) {
alert('loaderror on quote request grid - ' + st)
},
pager:'#pager',
height: 550,
width: 425,
rowNum: -1,
hidegrid: false,
gridview: true,
gridstate:'hidden',
viewrecords: true,
altRows: true,
sortname: 'ozip',
sortorder: 'asc',
caption: 'Carriers',
subGrid:true,
subGridUrl:"getQuoteResponse&a="+$("#AccountNumber").val() +
"&sess=" + $("#SessionID").val(),
subGridModel: [
{name:['Carrier Name','Status'], width:[200,100]}
]
});
其他信息: 我加入了'寻呼机'以确保图标出现在寻呼机上 - 它们确实如此。我在jqGrid版本3.8.2和3.6.5上尝试了这个,结果相同。 jQuery版本是1.4.2,jquery UI版本1.8.2。
我认为加号没有出现,因为我在网格加载时没有在第一列中获取新类,但我不知道为什么不加。奇怪的是,当subGrid设置为true但第二列没有加载时会出现第一列。
有什么想法吗?非常感谢任何建议!
编辑:没关系!我正在编辑这篇文章以修复一些格式并发现问题。关于hidegrid,gridview等的参数太多了。这些都是我最初使用jqGrid进行的实验。
答案 0 :(得分:1)
主要问题是gridview:true
无法用于您的情况。在the documentation中的gridview
选项说明中,您会找到
如果设置为true,我们无法使用 treeGrid,subGrid或afterInsertRow 事件
答案 1 :(得分:0)
当我使用jQuery Grid时,我遇到了同样的问题。在我的情况下,加号图标没有出现,但当我点击第一列单元格时,我的子网格出现了。搜索一小时后,我终于得到了解决方案。在ui.jqgrid.css文件中包含此代码。
.ui-icon-plus {
height: 10px;
width: 10px;
background-image: url('../../Images/plus.gif');
}
.ui-icon-minus {
height: 10px;
width: 10px;
background-image: url('../../Images/minus.gif');
}
图片路径将是您的图片路径。我没有给出图像的高度和宽度,这就是我无法在UI中看到的原因。希望这有帮助。