我一直在研究JQGid,并且需要在一个大单元中将常见单元组合在一起,如图所示!
现在要求是在最后一个下面添加另一个单元格,在地址列的新单元格中有一个可点击按钮。这是为adb为11/11/1988的adam添加新地址。
所以我需要的帮助是动态创建一个空单元格,因为jqgrid的数据源是一个json对象,我将无法修改json值 请告诉我您知道的任何自定义格式化程序,以满足此特定的奇怪要求 任何帮助将不胜感激
下面给出的是我用来组合的cellattr函数名称字段
cellattr: function (rowId, val, rawObject, cm, rdata) {
var result;
if (prevCellVal.value == val) {
result = ' style="display: none" rowspanid="' + prevCellVal.cellId + '"';
}
else {
var cellId = this.id + '_row_' + rowId + '_' + cm.name;
result = ' rowspan="1" id="' + cellId + '"'+'"+"';
prevCellVal = { cellId: cellId, value: val };
}
return result ;
}
可能是我没有得到你想说的内容但这是我目前的情况,我需要的是将添加新的值下拉列表添加为现有右侧的新行文件或文件(可以是基于服务器返回值的多个文件)。我已经使用了如上所述的cellattr功能。答案我无法解决这个问题。 使用格式化程序,当没有文件返回时,我可以将它移动到右侧。但我无法将其移动到返回值的一边 进一步的帮助将不胜感激 提前致谢
答案 0 :(得分:1)
我发布了the answer,其中显示了如何使用rowspan
属性来填充与您所做的接近的网格。来自cellattr
的答案的演示,但也可以使用setCell
来设置rowspan
。
我让the demo来证明这一点。它最初显示以下网格
点击“点击我添加新行”按钮后,我使用addRowData
添加行,并使用setCell
为之前某些行的rowspan
属性设置新值。所以我们看到以下图片
我禁用了“点击我添加新行”按钮,因为我写的是非常粗略的代码。我只使用rowid的固定值而不是分析数据并动态地评估所有需要的值。然而,该演示清楚表明可以动态填充这些网格。
在click
事件处理程序内部,我只使用了以下calles
$("#list").jqGrid("addRowData", "100", { country: "USA", state: "California",... },
"last");
$("#list").jqGrid("setCell", "60", "state", "", "", {rowspan: "5"});
$("#list").jqGrid("setCell", "10", "country", "", "", {rowspan: "10"});
更新:可以用同样的方式添加任何HTML片段(如<button>
)。 One more demo在网格中添加按钮