近日有个需求要用到jqgrid,原本用着一切都很顺利,但是在需求变动后,只是修改部分字段名称jqgrid就不显示数据了,后台数据也能传到前台,但是就是不给我显示,到嘴的肉就是没法吃,蛋疼,郁闷都无法形容我的感受。。。。。。我开始怀疑自个了

  

jQuery("#grid-table").jqGrid({
url:'<%=request.getContextPath()%>/salesAnalysis.do?method=getIntelligenceSaleTree',
postData:getParam(),//参数
datatype: "json",
jsonReader : {
root:"data",//array或者List数据
page: "page",//当前页码
total: "pages",//总页数
records: "count",//总记录数
repeatitems: false
},
colNames:['地区','城市','区县','客户名称','期初库存','购进数量','销量数量','期末库存'],
colModel:[
{name:'PROV_NAME',index:'PROV_NAME', sorttype:'text'},
{name:'CITY_NAME',index:'CITY_NAME',},
{name:'AREA_NAME',index:'AREA_NAME'},
{name:'CLIENT_NAME',index:'CLIENT_NAME',summaryType:'count', summaryTpl : '{0}'},
{name:'BEGIN_STOCK',index:'BEGIN_STOCK', align:"right", sorttype:'number',formatter:'number',summaryType:'sum'},
{name:'CODE_PURCHASE_COUNT',index:'CODE_PURCHASE_COUNT', align:"right",sorttype:'number',formatter:'number',summaryType:'sum'},
{name:'CODE_SALE_COUNT',index:'CODE_SALE_COUNT', align:"right",sorttype:'number',formatter:'number', summaryType:'sum'},
{name:'END_STOCK',index:'END_STOCK',align:"right",sorttype:'number',formatter:'number', summaryType:'sum'}
],
rowNum:10,
rowList:[10,20,30],
height: 'auto',
autowidth: true,
pager: '#gridpager',
sortname: 'PROV_NAME',
viewrecords: true,
sortorder: "desc",
caption:"智能销售树",
grouping: true,
groupingView : {
groupField : ['PROV_NAME','CITY_NAME','AREA_NAME'], //分组字段
groupColumnShow : [true,false,false],//是否隐藏分组字段
groupText : ['<b>{0}</b>'],
groupCollapse : false,
groupOrder: ['asc'],// 分组后的排序
groupSummary : [true],
groupDataSorted : true,// 分组中的数据是否排序
showSummaryOnHide : false //是否在分组底部显示汇总信息并且当收起表格时是否隐藏下面的分组
},
footerrow: false,
userDataOnFooter: false ,
gridComplete : function() {
var ids = $("#grid-table").jqGrid("getDataIDs");
for(var i=0;i < ids.length;i++){
var cl = ids[i];
//置空
var city = "";
$("#grid-table").jqGrid("setRowData",cl,{PROV_NAME:city});
}
},
loadComplete : replaceCss
});

  各种尝试,包括变换请求方式,本地json,都是无法解决,郁闷之极,周末都在想这个问题,终于,周一早上Google了才发现jqgrid对json的数据格式校验异常的严格,包括对单引号双引号,jqgrid要求用双引号,如果你用了单引号可得注意了,但是我发现的都是双引号。

  那我的问题出在哪儿呢?

  

  我从firebug里把传到前台的json复制出来放到在线的json检测工具里(http://www.bejson.com/index.php),问题发现了,原来里面有个字段数据是"长清区\0\0",就多了\0\0 jqgrid就无法显示了,OMG......我后台的数据都是我临时添加的用于测试的,于是乎把数据库中\0\0去掉就解决了,爽。。。。。。

  总结:1,首先要对自个写的代码要有足够的自信,这个在解决问题的时候要少走很多弯路。

     2,要利用工具快速的缩小问题的范围,如firebug就知道数据是正常传递的。

     3,要对最大化地了解所用技术的脾气。就比如我这个。当然参透api是最好的了。

关于jqgrid数据不显示问题的更多相关文章

  1. 利用JqGrid结合ashx显示列表之一

    最近项目决定运用JqGrid列表控件显示相关数据,以前接触比较多还是easyui和Ext.Net的列表控件,文章简单写的小实例进行一个总结: 1:引入相关的JS及CSS文件,JqGrid目前可以利用J ...

  2. EXTJS中grid的数据特殊显示,不同窗口的数据传递

    //EXTJS中grid的数据特殊显示renderer : function(value, metaData, record, rowIndex, colIndex, store, view) { v ...

  3. input中空格后的数据不显示

    bug,input中空格后的数据不显示     昨天在修bug,有一个bug是用户修改的个人信息的地址栏,输入有空格的话,空格后面的内容存不上,而且没有报错,奇怪了,只好跟踪下. 页面上的输入框就是个 ...

  4. easyui datagrid 没数据时显示滚动条的解决方法

    今天解决了一个bug,因为datagrid有多列,可是当没有数据的时候,后面的列无法通过滚动条拉动来显示,比较麻烦,而需求要求没有数据也要拉动滚动条查看后面有什么列,一开始在网上找了一些资料,发现都不 ...

  5. ENVI软件操作之【数据的显示操作】

    数据的显示操作主要包括以下的一些简单窗口操作 1.文件列表管理 1)可用的波段列表Available Bands List,使用于存取ENVI图像文件和显示图像文件的主要控制对话框.无论何时何地打开一 ...

  6. 从多个XML文档中读取数据用于显示webapi帮助文档

    前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDo ...

  7. 实现easyui datagrid在没有数据时显示相关提示内容

    本示例实现easyui datagrid加载/查询数据时,如果没有相关记录,则在datagrid中显示没有相关记录的提示信息,效果如下图所示 本实例要实现如下图所示的效果: 本示例easyui版本为1 ...

  8. easy ui datagrid在没有数据时显示相关提示内容

    $(function () { $('#dg').datagrid({ fitColumns: true, url: 'product.json', pagination: true, pageSiz ...

  9. 扩展:gridview 空数据时显示表头

    2015年7月14日16:50:06  Gridview 默认展示数据时,若数据为空,则表格不显示,显示不美观. 针对此问题进行扩展: using System.Web.UI.WebControls; ...

随机推荐

  1. JS复习--更新结束

    js复习-01---03 一 JS简介 1,文档对象模型 2,浏览器对象模型 二 在HTML中使用JS 1,在html中使用<script></script>标签 2,引入外部 ...

  2. 面试题目——《CC150》智力题

    面试题6.1:有20瓶药丸,其中19瓶装有1克/粒的药丸,余下一瓶装有1.1克/粒的药丸.给你一台称重精准的天平,怎么找出比较重的那瓶药丸?天平只能用一次. 思路:第1瓶取1颗,第2瓶取2颗....最 ...

  3. 增加UBUNTU字符集 解决中文乱码问题

    对GBK,GB2312,GB18030字符集的支持是UBUNTU中文乱码的罪魁祸首,其实我们可以在保持UTF-8为默认编码的条件下添加对这几个编码的支持,以解决中文乱码问题. 我想这个问题肯定有其他人 ...

  4. Maven总结

    项目管理构建工具:maven ant gradle == 项目管理利器(Maven)——maven介绍及环境搭建maven可以帮助我们更有效地管理项目,它也是一套强大的自动化构建工具,覆盖了编译.测试 ...

  5. go智能提示(重要)

    使用VIM开发go程序时,智能提示是一个大问题. 最终解决方案是使用 YCM,它是使用 gocode 来进行智能提示的.一切配置好之后,你会发现标准库和第三方库都可以智能提示,但自己写的包却不能,猜想 ...

  6. tyvj1172 自然数拆分Lunatic版

    背景 话说小小鱼看了P1171(自然数拆分)之后感觉异常不爽,于是异常邪恶地将题目加强. 描述 输入自然数n,然后将其拆分成由若干数相加的形式,参与加法运算的数可以重复. 输入格式 输入只有一个整数n ...

  7. linuxmint 17没有vim

    首先上软件管理器中安装vim,之后配置.vimrc文件 下面是从网上摘抄的配置文件: """""""""&qu ...

  8. Codeforces#262_1002

    Codeforces#262_1002 B. Little Dima and Equation time limit per test 1 second memory limit per test 2 ...

  9. PHP控制输出不缓存头

    @header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); @header("Cache-Control: no-cache, ...

  10. Shell入门教程:Shell变量

    变量 是一种很“弱”的变量,默认情况下,一个变量保存一个串,Shell不关心这个串是什么含义.所以若要进行数学运算,必须使用一些命令例如 let.declare.expr.双括号等. Shell变量可 ...