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,这样您就可以按照我的答案进行操作。