关于jqgrid数据不显示问题

  近日有个需求要用到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是最好的了。

时间: 2024-11-02 17:28:50

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

jqGrid 数据之 Json

Json数据 需要定义jsonReader来跟服务器端返回的数据做对应,其默认值: · jsonReader : { ·      root: "rows", ·      page: "page", ·      total: "total", ·      records: "records", ·      repeatitems: true, ·      cell: "cell", ·      

Delphi中多线程用消息实现VCL数据同步显示

Delphi中多线程用消息实现VCL数据同步显示 Lanno Ckeeke 2006-5-12 概述: delphi中严格区分主线程和子主线程,主线程负责GUI的更新,子线程负责数据运算,当数据运行完毕后,子线程可以向主线程式发送消息,以便通知其将VCL中的数据更新. 实现: 关键在于消息的发送及接收.在消息结构Tmessage中wParam和lParam类型为Longint,而指针类型也定义为Longint,可以通过此指针来传递自己所感兴趣的数据.如传递字符数组: 数组定义: const MA

【Qt5开发及实例】24、数据柱形图显示

数据柱形图显示 1.我们首先把这个这个视图的表格部分表示出来 mainwindow.h /** * 书本:[Qt5开发及实例] * 功能:数据柱形图显示,这个类是表格显示 * 文件:mainwindow.h * 时间:2015年1月28日18:50:54 * 作者:cutter_point */ #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #include <QStandardItemModel>

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

//EXTJS中grid的数据特殊显示renderer : function(value, metaData, record, rowIndex, colIndex, store, view) { var USED_AMOUNT_ = 0; for (var i = 0; i < matMonthPlanHisList.length; i++) { if(matMonthPlanHisList[i].MAT_NO_ == record.get('MAT_NO_')){ USED_AMOUNT_

String强制转换为Date,freemarker标签里date数据的显示问题

String强制转换为Date,freemarker标签里date数据的显示问题 http://blog.sina.com.cn/s/blog_617f5d090101ut63.html (2014-05-16 16:44:34) 转载▼   分类: 工作 解决了两个问题 1. String强制转换为Date SimpleDateFormat format=new SimpleDateFormat("yyyy-MM-dd");    String dateStr = request.g

C#.Net 给DataGridView列绑定数据和显示列名的方法

选择DataGridView控件,在属性中选择Colums属性项点击,编辑DataGridView控件的列,可以通过列编辑器添加多个列项,其中列属性的中HeadText是对外显示的,即向用户呈现的,Name是用于命名列对象的,而DataPropertyName是用于指定你将数据源的那一列绑定到该列上的,就是这个列属性可以DataGridView中的列绑定指定的数据,具体只需要将DataPropertyName列属性指定为数据源的某个列名即可,例如:数据源中一列为“UserName”,则将Data

PHP从零单排(十四)数据分页显示的原理及实现

分页显示是WEB编程中最频繁处理的环节之一.所谓分页显示,就是通过程序将结果集一段一段的来显示.实现分页显示,需要两个初始参数:每页显示多少记录和当前是第几页.再加上完整的结果集,就可以实现数据的分页显示.至于其他功能,比如上一页.下一页等均可以根据以上信息加以处理得到. 要取得某表中的前10条记录,可以使用如下SQL语句: SELECT * FROM a_table LIMIT 0,10 要查找第11到第20条记录,使用的SQL语句如下所示: SELECT * FROM a_table LIM

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

本示例实现easyui datagrid加载/查询数据时,如果没有相关记录,则在datagrid中显示没有相关记录的提示信息,效果如下图所示 本实例要实现如下图所示的效果: 本示例easyui版本为1.3.4,如果运行后没有效果,自己检查easyui版本 不同版本对appendRow和mergeCells支持不一样,参数不一致什么的. 无法隐藏分页导航容器,可以用chrome开发工具或者firebug查看分页导航容器的样式和原始datagrid table表格的关系. 源代码如下 $(funct

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

前言: 你先得知道HelpPageConfig文件,不知道说明你现在不需要这个,所以下文就不用看了,等知道了再看也不急.当然如果你很知道这个,下文也不用看了,因为你会了. 方法一: new XmlDocumentationProvider(HttpContext.Current.Server.MapPath("~/App_Data/Documentation.xml")) 替换成 new XmlDocumentationProvider("PluginsFolder/*.xm