如何在jqGrid 4.0中合并单元格

我一直在试图“合并”一个jqGrid中的单元格,也就是说,我想让特定行的单元格有一个colspan = 2(或更多)。 到目前为止,我已经能够使用列模型中的cellattr选项使框架正常工作,如下所示:

colModel = { name: "a", width=50, cellattr: function(rowId, tv, rawObject, cm, rdata) { if (rowId < 5) { return 'sytle="border-right:0px"'; } }, name: "b", width=50, cellattr: function(rowId, tv, rawObject, cm, rdata) { if (rowId < 5) { return 'sytle="border-left:0px"'; } } }; 

这只是删除我想要合并单元格的边框(a&b直到第5行)。 但是,如果我将文本添加到这些框中的任何一个,text-align显然将无法正常工作,并且如果文本大于50像素,文本会被截断。

我可以做一些疯狂的事情,我通过将所有的文本分成两半,分别在右alignment和左alignment下分别添加“a”和“b”列来进行中心alignment。 不过,似乎应该有更好的办法。

我发现你的问题非常有趣,所以+1。

在我看来, colspan=2的使用是你真正需要的。 要在colspan=2的行中具有相同数量的列,我build议隐藏行中的下一个<td>元素:

 { name:'a',index:'a', width:50, cellattr: function(rowId, tv, rawObject, cm, rdata) { if (Number(rowId) < 5) { return ' colspan=2' } } }, { name:'b',index:'b', width:50, cellattr: function(rowId, tv, rawObject, cm, rdata) { if (Number(rowId) < 5) { return ' style="display:none;"' } } } 

我只testing了几次实现,但似乎工作:

在这里输入图像描述

你可以在这里看到演示。

更新 : 另一个答案显示如何在jqGrid中使用rowspan属性。

听起来像现在不支持。 他们说“不远的将来”。

http://www.trirand.net/forum/default.aspx?g=posts&t=1184