近日有个需求要用到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. Beta版本——用户试用与调研报告

    1 引言 1.1 系统概述 ​ 毕设导师智能分配系统是一个用来简化传统手工匹配繁琐操作的系统.本系统将学生报志愿.系负责人收集整理数据.相关人员进行手工分配.反馈选择结果等繁琐的操作转移到线上.把毕设 ...

  2. fping tcping hping nmap nc

    [root@test ~]# fping -a -g 192.168.40.1 192.168.40.240 |nl   #-a   扫描alive主机,-g扫描一个段的ip地址 [root@test ...

  3. php无限分类

    无限循环 1.需要套2个foreach 2.2个foreach结构一样 纯代码获取数据 ){ $where['parent_id']= $parent_id; $res = $this->m-& ...

  4. CSS知识回顾--读《CSS 那些事儿》笔记

    由于之前有了解过CSS的相关知识,有了一定的基础,所以读起<CSS 那些事儿>不是很有难度,况且我现在读起来时,CSS3和HTML5比较流行,这里只是记录一些CSS知识记录,不做详细铺开, ...

  5. html传参数

    var request = { QueryString: function (paramName) { var url = window.location.search; paramValue = & ...

  6. 4Struts2标签库----青软S2SH(笔记)

    这里弄错了,这一堆属性是<datetimepicker>标签的,不是<doubleselect>标签的 输出错误信息这个不错,挺方便的. 这个树形标签,也用了好多网络,分析如下 ...

  7. 基本 sql语句

    1.打开数据库 int sqlite3_open( const char *filename,   // 数据库的文件路径 sqlite3 **ppDb          // 数据库实例 ); 2. ...

  8. 《征服 C 指针》摘录4:函数 与 指针

    一.指向函数的指针 函数名可以在表达式中被解读成“指向函数的指针”,因此,正如代码清单 2-2 的实验那样,写成 func 就可以取得指向函数的指针. “指向函数的指针”本质上也是指针(地址),所以可 ...

  9. 修改mysql默认字符编码出现的Job failed to start解决方法

    5.5以后的版本对字符编码方式修改的办法,原来在[mysqld]下的修改已经发生了变化,正确方式如下: [mysqld]下添加的应该为: character-set-server=utf8 colla ...

  10. 利用Python自动生成暴力破解的字典

    Python是一款非常强大的语言.用于测试时它非常有效,因此Python越来越受到欢迎. 因此,在此次教程中我将聊一聊如何在Python中生成字典,并将它用于任何你想要的用途. 前提要求 1,Pyth ...