jqGrid 如何动态显示列,比如第一种情况只有3列,但换种方式就需要4列,如何动态添加列?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jqGrid 如何动态显示列,比如第一种情况只有3列,但换种方式就需要4列,如何动态添加列?相关的知识,希望对你有一定的参考价值。

我用$("#jsonmap").jqGrid("setGridParam", colNames:[数组])试过了,还是不行!

参考技术A 不是有hideCol,showCol么?控制隐藏显示列就好了追问

能说的详细些么?代码怎么设置呢?

本回答被提问者采纳
参考技术B //封装动态列
var colModelData = [
name : 'id',index : 'id',width : '10%',hidden:true,
name : 'versionState',index : 'versionState',hidden:true,
name : 'versionDetailName',index : 'versionDetailName',width : '10%',
];
for(var i = 0 ; i < parseInt("$fn:length(phaseTypeNames)"); i++ )
var colmodel = name: function (obj)

var result = eval('obj.phaseTimeVoList[' + listIndex + '].phaseTime');
listIndex ++;
if(listIndex == parseInt("$fn:length(phaseTypeNames)"))
listIndex = 0;

return result;

,formatter:'date',formatoptions:srcformat: 'Y-m-d',newformat:"Y-m-d", width : '15%',align:'center', fixed : false;

colModelData.push(colmodel);

var optionModel = name : 'operation',index:'operation',width:'10%',align:'center', search:false,sortable:false,editable:false;
colModelData.push(optionModel);

colNames:['ID', 'versionState','版本号',
<c:forEach items="$phaseTypeNames" var="phaseTypeName">
'$phaseTypeName',
</c:forEach>
'操作' ],

colModel:colModelData,

以上是关于jqGrid 如何动态显示列,比如第一种情况只有3列,但换种方式就需要4列,如何动态添加列?的主要内容,如果未能解决你的问题,请参考以下文章

在 jqGrid 列中加载图像

footerdata 如何设置 jqgrid 设置动态列

保存后jqgrid不显示选项文本

jqGrid动态列绑定

无法绑定 jqGrid 列

JQGrid - 动态更改列的宽度