04jqGrid - 数据传输结构

简介: 04jqGrid - 数据传输结构

jqGrid可支持的数据类型:xml、json、jsonp、local or clientSide、xmlstring、jsonstring 、script、function (…)

Json数据

需要定义jsonReader来跟服务器端返回的数据做对应,其默认值:

{
    "cell": "cell",
    "id": "id",
    "page": "page",
    "records": "records",
    "repeatitems": true,
    "root": "rows",
    "subgrid": {
        "cell": "cell",
        "repeatitems": true,
        "root": "rows"
    },
    "total": "total",
    "userdata": "userdata"
}

这样服务器端返回的数据格式:

{
    "page": "yyy",
    "records": "zzz",
    "rows": [
        {
            "cell": [
                "cell11",
                "cell12",
                "cell13"
            ],
            "id": "1"
        },
        {
            "cell": [
                "cell21",
                "cell22",
                "cell23"
            ],
            "id": "2"
        }
    ],
    "total": "xxx"
}

jsonReader的属性

自定义数据解析

jQuery("#gridid").jqGrid({  
...  
  jsonReader : {  
    root:"invdata",  
    page: "currpage",  
    total: "totalpages",  
    records: "totalrecords",  
    cell: "invrow"  
  },  
...  
}); 
  totalpages: "xxx",   
  currpage: "yyy",  
  totalrecords: "zzz",  
  invdata : [  
    {id:"1", invrow:["cell11", "cell12", "cell13"]},  
    {id:"2", invrow:["cell21", "cell22", "cell23"]},  
    ...  
  ]  

repeatitems :指明每行的数据是可以重复的,如果设为false,则会从返回的数据中按名字来搜索元素,这个名字就是colModel中的名字。

jsonReader : {  
  root:"invdata",  
  page: "currpage",  
  total: "totalpages",  
  records: "totalrecords",  
  repeatitems: false,  
  id: "0"  
}
totalpages: "xxx",   
currpage: "yyy",  
totalrecords: "zzz",  
invdata : [  
  {invid:"1",invdate:"cell11", amount:"cell12", tax:"cell13", total:"1234", note:"somenote"},  
  {invid:"2",invdate:"cell21", amount:"cell22", tax:"cell23", total:"2345", note:"some note"},  
  ...  
] 

此例中,id属性值为“invid”。 一旦当此属性设为false时,我们就不必把所有在colModel定义的name值都赋值。因为是按name来进行搜索元素的,所以他的排序也不是按colModel中指定的排序结果。

用户数据(user data) 在某些情况下,我们需要从服务器端返回一些参数但并不想直接把他们显示到表格中,而是想在别的地方显示,那么我们就需要用到userdata标签

jsonReader: {  
  ...  
  userdata: "userdata",  
  ...  
} 
{   
  total: "xxx",   
  page: "yyy",   
  records: "zzz",   
  userdata: {totalinvoice:240.00, tax:40.00},   
  rows : [   
    {id:"1", cell:["cell11", "cell12", "cell13"]},   
    {id:"2", cell:["cell21", "cell22", "cell23"]},   
    ...   
  ]   
}

在客户端我们可以有下面两种方法得到这些额外信息:

  1. jQuery(“grid_id”).getGridParam(‘userData’)
  2. jQuery(“grid_id”).getUserData()
  3. jQuery(“grid_id”).getUserDataItem( key )


相关实践学习
自建数据库迁移到云数据库
本场景将引导您将网站的自建数据库平滑迁移至云数据库RDS。通过使用RDS,您可以获得稳定、可靠和安全的企业级数据库服务,可以更加专注于发展核心业务,无需过多担心数据库的管理和维护。
Sqoop 企业级大数据迁移方案实战
Sqoop是一个用于在Hadoop和关系数据库服务器之间传输数据的工具。它用于从关系数据库(如MySQL,Oracle)导入数据到Hadoop HDFS,并从Hadoop文件系统导出到关系数据库。 本课程主要讲解了Sqoop的设计思想及原理、部署安装及配置、详细具体的使用方法技巧与实操案例、企业级任务管理等。结合日常工作实践,培养解决实际问题的能力。本课程由黑马程序员提供。
目录
相关文章
|
JSON 数据处理 数据安全/隐私保护
【C/C++ 数据传输结构设计】GET与SEND的设计与实践
【C/C++ 数据传输结构设计】GET与SEND的设计与实践
485 0
|
数据格式 UED 网络架构
一对一直播系统源码,影响数据传输的网络七层结构
一对一直播系统源码,影响数据传输的网络七层结构
|
SQL 分布式计算 监控
在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
【2月更文挑战第32天】在数据传输服务(DTS)中,要查看每个小时源端产生了多少条数据
349 6
|
存储 SQL NoSQL
数据传输DTS同步问题之同步失败如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
DTS数据传输延迟可能有多种原因
【1月更文挑战第16天】【1月更文挑战第79篇】DTS数据传输延迟可能有多种原因
825 2
|
NoSQL Redis 数据库
数据传输DTS中金融云跨账号同步Redis,增量校验报错了
【1月更文挑战第16天】【1月更文挑战第80篇】数据传输DTS中金融云跨账号同步Redis,增量校验报错了
371 1
|
Cloud Native NoSQL 关系型数据库
数据传输DTS校验问题之校验报错如何解决
数据传输服务(DTS)是一项专注于数据迁移和同步的云服务,在使用过程中可能遇到多种问题,本合集精选常见的DTS数据传输问题及其答疑解惑,以助用户顺利实现数据流转。
|
存储 安全 关系型数据库
跨越地域的数据传输大冒险!如何轻松更换DTS实例地域,全面攻略揭秘!
【8月更文挑战第15天】在数字时代的浪潮中,数据传输服务(DTS)是企业跨地域扩张的重要桥梁。然而,更换DTS实例地域就像是一场冒险旅程,充满了未知和挑战。本文将带你踏上这场跨越地域的数据传输大冒险,揭示如何轻松更换DTS实例地域的秘密。无论你是追求速度的迁移高手,还是成本敏感的手动操作者,这里都有你需要的答案。让我们一起探索这个神秘的世界,解锁数据传输的无限可能!
435 0
|
存储 弹性计算 监控
【数据传输服务用户测评】阿里云DTS和MongoShake的性能对比
本文聚焦DTS MongoDB->MongoDB 和 MongoShake 数据同步的性能,分别针对副本集/分片集群架构、单表/多表、全量/增量同步进行性能的对比。
87328 128
|
关系型数据库 MySQL OLAP
数据传输DTS是什么?
【8月更文挑战第30天】数据传输DTS是什么?
1639 3