问题描述
$(function() {$("#commonForm").validationEngine();$("#searchCondition").validationEngine({promptPosition: "centerRight"});var entry=0;// 物品列表gridvar itemGrid=jQuery("#items").jqGrid( {//url : 'findItems',datatype : "json",colNames : [ 'ID', '物品名称', '物品类型', '物品等级', '说明', '显示模型', '掉落时显示模型', '要求等级', '耐力', '智力', '力量','敏捷', '攻击力', '法术攻击力', '护甲', '魔防', '叠加数量', '物品最大数量', '需求技能', '需求技能等级', '可装备位置', '套装ID', '最大耐久', '是否可购买','价格', '附加技能', '闪躲', '招架', '格挡', '暴击', '命中', '魔法恢复', '物品品质'],colModel : [ {name:'entry',index:'entry',width:100,sortable:false,hidden:true}, {name:'itemName',index:'itemName',width:120,sortable:false}, {name:'itemClzz',index:'itemClzz',width:100,sortable:false}, {name:'itemLevel',index:'itemLevel',width:70,sortable:false}, {name:'description',index:'description',width:300,sortable:false}, {name:'displayed',index:'displayed',width:'100',sortable:false,hidden:true},//显示模型名称 {name:'displayed2',index:'displayed2',width:'100',sortable:false,hidden:true},//掉落时显示模型名称 {name:'requiredLevel',index:'requiredLevel',width:'70',sortable:false,hidden:false},//要求等级 {name:'stamina',index:'stamina',width:'40',sortable:false,hidden:true},//耐力 {name:'intelligence',index:'intelligence',width:'40',sortable:false,hidden:true},//智力 {name:'strength',index:'strength',width:'40',sortable:false,hidden:true},//力量 {name:'agility',index:'agility',width:'40',sortable:false,hidden:true},//敏捷 {name:'attPower',index:'attPower',width:'40',sortable:false,hidden:true},//攻击力 {name:'spellPower',index:'spellPower',width:'40',sortable:false,hidden:true},//法术攻击力 {name:'armorClass',index:'armorClass',width:'40',sortable:false,hidden:true},//护甲 {name:'defmagic',index:'defmagic',width:'40',sortable:false,hidden:true},//魔防 {name:'stackAble',index:'stackAble',width:'40',sortable:false,hidden:true},//叠加数量 {name:'maxCount',index:'maxCount',width:'80',sortable:false,hidden:true},//物品最大数量 {name:'requiredSkill',index:'requiredSkill',width:'70',sortable:false,hidden:true},//需求技能 {name:'requiredSkillRank',index:'requiredSkillRank',width:'80',sortable:false,hidden:true},//需求技能等级 {name:'inventoryType',index:'inventoryType',width:'70',sortable:false,hidden:true},//可装备位置 {name:'itemset',index:'itemset',width:'60',sortable:false,hidden:true},//套装ID {name:'maxDurability',index:'maxDurability',width:'70',sortable:false,hidden:true},//最大耐久 {name:'canBuy',index:'canBuy',width:'70',sortable:false,hidden:true},//是否可购买 {name:'price',index:'price',width:'40',sortable:false,hidden:true},//价格 {name:'bonusSkill',index:'bonusSkill',width:'70',sortable:false,hidden:true},//附加技能 {name:'dodge',index:'dodge',width:'40',sortable:false,hidden:true},//闪躲 {name:'parry',index:'parry',width:'40',sortable:false,hidden:true},//招架 {name:'block',index:'block',width:'40',sortable:false,hidden:true},//格挡 {name:'crit',index:'crit',width:'40',sortable:false,hidden:true},//暴击 {name:'haste',index:'haste',width:'40',sortable:false,hidden:true},//命中 {name:'magicrestore',index:'magicrestore',width:'70',sortable:false,hidden:true},//魔法恢复 {name:'quality',index:'quality',width:'70',sortable:false,hidden:true}//物品品质 ],multiselect : true,rowNum : 15,// 一个数组用来调整表格显示的记录数,此参数值会替代rowNum参数值传给服务器端。如果为空则不显示,设置格式:[10,20,30]rowList : [ 10, 15, 500, 1000 ],pager : '#pager',sortname : 'entry',viewrecords : true,sortorder : "desc",height : 348,width : 800,caption : "物品列表",// jsonReader的属性jsonReader : {// 这个元素指明表格所需要的数据从哪里开始root : "items",page : "page.curPage", // 当前页total : "page.totalPages", // 总页数records : "page.totalRecords", // 总记录数rows : "page.pageSize",// 每页显示的行数sort : "page.orderBy",// 排序字段order : "page.order",// 排序方式// 指明每行的数据是可以重复的,如果设为false,则会从返回的数据中按名字来搜索元素,这个名字就是colModel中的名字repeatitems : false},prmNames : {rows : "page.pageSize",page : "page.curPage",total : "page.totalPages",records : "page.totalRecords",sort : "page.orderBy",order : "page.order"}});itemGrid.jqGrid('navGrid','#pager',{add:false,edit:false,del:false,search:false,refresh:false});itemGrid.jqGrid('navButtonAdd','#pager',{ caption: "列选择", onClickButton : function (){ itemGrid.jqGrid('columnChooser'); }});/** * ----------------------------------初始化各Select------------------ */createClzz("clzz","subClzz");createClzz("item_clzz","item_subClzz");createQuality("item_quality");createQuality("quality");/** * ---------------------------------弹出框属性设定------------------- *///查看的弹出框设置$("#viewItemDiv").dialog({modal:true, width:480, height:550, minHeight:550, minWidth:480,close:function(){$("#commonForm").resetForm();$("#viewItemDiv :text,:radio,#viewItemDiv textarea,#viewItemDiv select").removeAttr("disabled");$(".formError").remove();entry=0;;}}).dialog("close");//导入的弹出框设置$("#batchAddDiv").dialog({ modal:true, width:480, height:180, minHeight:180, minWidth:480, maxHeight:180, maxWidth:480 }).dialog("close");/** * ---------------------------按钮相关处理--------绑定各按钮事件---------------- *///查询按钮$("#searchButton").click(function() {var param = $("#searchCondition").formSerialize();var name = $("#searchCondition input:first");if (name.val() == "") {param = param.replace("item.itemLevel=", "item.itemLevel=-1");}itemGrid.setGridParam({page : 1,url : "findItems.action?" + encodeURI(param)}).trigger("reloadGrid");});//省略若干})@Action(results = { @Result(type = "json") }, value = "findItems")public String findItems() throws Exception {// jqGrid查询转码-utf-8Tools.decodeObject(this.item);this.page.init(this.itemService.findTotalRows(item));System.out.println("shunxu: " + page.getOrderBy() + page.getOrder());System.out.println("mingzi" + item.getName());System.out.println("dengji: " + item.getItemLevel());System.out.println("wupinleixing" + item.getClzz());System.out.println("wupinzileixing" + item.getSubClzz());System.out.println("pinzhi" + item.getQuality());System.out.println("total:" + page.getTotalRecords());if (this.page.getTotalRecords() != 0) {items = this.itemService.findItemsByCondition(item, this.page.getCurPage(), this.page.getPageSize(),this.page.getOrderBy(), this.page.getOrder());}return "success";}断点在ACTION中items是得到了值的,但是jqgrid没有数据显示出来。 问题补充:liukai 写道
解决方案
直觉告诉我 jsonReader : { // 这个元素指明表格所需要的数据从哪里开始 root : "items", page : "page.curPage", // 当前页 total : "page.totalPages", // 总页数 records : "page.totalRecords", // 总记录数 rows : "page.pageSize",// 每页显示的行数 sort : "page.orderBy",// 排序字段 order : "page.order",// 排序方式 // 指明每行的数据是可以重复的,如果设为false,则会从返回的数据中按名字来搜索元素,这个名字就是colModel中的名字 repeatitems : false }, 有问题去掉page试试 这个和后台的参数名一样