Javascript jqGrid动态设置colModels和colname
是否确实需要卸载Javascript jqGrid动态设置colModels和colname,javascript,jqgrid,Javascript,Jqgrid,是否确实需要卸载$(“#myGrid”).jqGrid('GridUnload')如果要设置 还是它的colModels和colNames?或者,我应该说,这是实施的唯一途径吗 jqGrid的动态列?虽然我已经试过了,而且效果很好。 但是我也尝试了jqGrid的setGridParam,但是当我放置colModels/colNames时,它就不起作用了 除了卸货,我还做了这件事 $.ajax({ url : url, //url the returns f
$(“#myGrid”).jqGrid('GridUnload')代码>如果要设置
还是它的colModels
和colNames
?或者,我应该说,这是实施的唯一途径吗
jqGrid的动态列?虽然我已经试过了,而且效果很好。
但是我也尝试了jqGrid的setGridParam
,但是当我放置colModels/colNames时,它就不起作用了
除了卸货,我还做了这件事
$.ajax({
url : url, //url the returns formatted colModels/colNames and other data
data : data,
async : false,
success : function(data){
$("#myGrid").setGridParam({
url : "xx/xxx/xx.json",
page : 1,
postData : {
.
.
.
},
colNames : data.returnedColNames,
colModel : data.returnedColModels,
rowNum : 50,
pager: '#myGridPager',
}).trigger("reloadGrid");
}
});
但是我得到了一个错误,比如uncaughttypeerror:无法读取未定义的属性“formatter”
对这种方法有什么想法吗?
提前感谢jqGrid在创建轴网的过程中创建了一些柱结构。例如,如果创建了网格,就不能更改列数。另一方面,可以隐藏一些不需要的列。设置colModel
不会更改列标题。另一方面,您可以使用setLabel
方法动态更改列标题。colModel
的大多数值都可以更改。主要限制是:列的数量应该相同。另一个限制:不应更改列的name
属性的值,因为该属性将用于生成列标题的ID。如果使用数据的repeatitems:false
样式,则可以动态设置jsonmap
或xmlmap
列的name
属性。通过setGridParam
更改width
属性不会更改现有列的宽度。另一方面,您可以使用我在中建议的、您可以从中下载的setColWidth
方法。因此,可以创建具有足够多列的网格,并将其他列设置为隐藏
提供您要求的90%的解决方案。在处理之前,我修改colModel
的内部。包含所需解决方案的简短说明。了解列数是否会更改很重要。您是否至少知道动态网格中的最大列数?是的,列数将更改。要显示的最大列数为10,这样您就可以按照我的答案进行操作。