我发现在 JQuery 的 jqGrid 插件中我可以动态添加行,但是我可以对列做同样的事情吗?如果有一个简单的表格,我更愿意手动手动完成,但 jqGrid 将表格信息存储在许多 div 中。
jqGrid 添加新列
IT技术
javascript
jquery
jqgrid
2021-02-03 03:27:49
4个回答
无法动态地向 jqGrid 添加一列。您必须通过colModel多一列重新创建整个网格。如果您使用 separator colNames,则数组的大小也必须增加。例如,您可以使用GridDestroy来销毁现有网格。也可以使用jQuery.Remove或jQuery.Empty代替。
更新:在我看来GridUnload更适合你的姿势。我创建了一个小演示来演示如何重新创建网格。为了能够使用GridUnload或GridDestroy,您必须验证您的项目中是否包含 grid.custom.js(如果您使用 jqGrid 的开发人员版本),或者您已在jqGrid 下载页面上选中“自定义”“附加方法” 。
更新 2:可以使用addColumn可从此处下载的方法(请参阅 参考资料jQuery.jqGrid.addColumn.js)。该方法仍处于测试阶段。人们可以找到一些演示展示了如何使用该方法,在这里(见addColumnX.htm例子)。
只是使用
$("#gridid").jqGrid('GridUnload');
它将完全卸载网格,并准备好再次加载新的列和数据。
rownumbers: true, and rownumWidth:25(default)
您可以简单地设置新的列模型并重新加载网格:
var newColModel = $("#myGrid").jqGrid("getGridParam", "colModel").concat({ /* new column attributes */ });
$("#myGrid").jqGrid("setGridParam", {colModel: newColModel}).trigger("reloadGrid");