`
a3mao
  • 浏览: 563504 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

jqGrid学习 ----------- 数据

    博客分类:
  • Work
阅读更多
jqGrid可支持的数据类型:xml、json、jsonp、local or clientSide、xmlstring、jsonstring
、script、function (…)。
Json数据
需要定义jsonReader来跟服务器端返回的数据做对应,其默认值:
jQuery("#gridid").jqGrid({
...
   jsonReader : {
     root: "rows",
     page: "page",
     total: "total",
     records: "records",
     repeatitems: true,
     cell: "cell",
     id: "id",
     userdata: "userdata",
     subgrid: {root:"rows", 
        repeatitems: true, 
       cell:"cell"
     }
   },
...
});

这样服务器端返回的数据格式:
{ 
  total: "xxx", 
  page: "yyy", 
  records: "zzz",
  rows : [
    {id:"1", cell:["cell11", "cell12", "cell13"]},
    {id:"2", cell:["cell21", "cell22", "cell23"]},
      ...
  ]
}


jsonReader的属性
total总页数
page当前页
records查询出的记录数
rows包含实际数据的数组
id行id
cell当前行的所有单元格


* root
  这个元素指明表格所需要的数据从哪里开始。
jQuery("#gridid").jqGrid({
...
   jsonReader : {root:"invdata"},
...
});

从服务器端返回数据格式为:
{ 
  total: "xxx", 
  page: "yyy", 
  records: "zzz",
  invdata : [
    {id:"1", cell:["cell11", "cell12", "cell13"]},
    {id:"2", cell:["cell21", "cell22", "cell23"]},
      ...
  ]
}


* page
* total
* records
定义翻页所需要的信息
jQuery("#gridid").jqGrid({
...
   jsonReader : {
      root:"invdata",
      page: "currpage",
      total: "totalpages",
      records: "totalrecords"
   },
...
});


服务器端返回数据:
{ 
  totalpages: "xxx", 
  currpage: "yyy",
  totalrecords: "zzz",
  invdata : [
    {id:"1", cell:["cell11", "cell12", "cell13"]},
    {id:"2", cell:["cell21", "cell22", "cell23"]},
      ...
  ]
}


* cell
当前行所包含的单元格数据
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"]},
      ...
  ]
}


* id
行id
jQuery("#gridid").jqGrid({
...
   jsonReader : {
      root:"invdata",
      page: "currpage",
      total: "totalpages",
      records: "totalrecords",
      cell: "invrow",
      id: "invid"
   },
...
});

从服务器端返回数据:
{ 
  totalpages: "xxx", 
  currpage: "yyy",
  totalrecords: "zzz",
  invdata : [
    {invid:"1", invrow:["cell11", "cell12", "cell13"]},
    {invid:"2", invrow:["cell21", "cell22", "cell23"]},
      ...
  ]
}

cell 可以设置为空字符串,id也可以设置为数字:
jQuery("#gridid").jqGrid({
...
   jsonReader : {
      root:"invdata",
      page: "currpage",
      total: "totalpages",
      records: "totalrecords",
      cell: "",
      id: "0"
   },
...
});

从服务器端返回:
{ 
  totalpages: "xxx", 
  currpage: "yyy",
  totalrecords: "zzz",
  invdata : [
    {"1","cell11", "cell12", "cell13"},
    {"2",,"cell21", "cell22", "cell23"},
      ...
  ]
}


* repeatitems
  指明每行的数据是可以重复的,如果设为false,则会从返回的数据中按名字来搜索元素,这个名字就是colModel中的名字:
jQuery("#gridid").jqGrid({
...
   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中指定的排序结果。
{ 
  totalpages: "xxx", 
  currpage: "yyy",
  totalrecords: "zzz",
  invdata : [
    {invid:"1",invdate:"cell11", note:"somenote"},
    {invid:"2", amount:"cell22", tax:"cell23", total:"2345"},
      ...
  ]
}



用户数据(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"]}, 
    ... 
  ] 
}

在客户端我们得到的数据为:
userData = {totalinvoice:240.00, tax:40.00}


在客户端我们可以有下面两种方法得到这些额外信息:
1. 使用 getGridParam 方法:
jQuery("grid_id").getGridParam('userData')


2. 使用getUserData()方法
jQuery("grid_id").getUserData()


如果想获得某个值则为:
jQuery("grid_id").getUserDataItem( key )


分享到:
评论
1 楼 waterenjoy 2011-04-18  
谢谢,好东西,
{"2",,"cell21", "cell22", "cell23"},是不是多了个,

为了帮你顶,我做了N久小测试....

相关推荐

    jqGrid学习笔记1 - - - - jqGrid英语PDF文档

    这个学习笔记主要围绕“jqGrid学习笔记1”展开,内容来源于jqGrid的英文PDF文档,结合了源码解析和实用工具的介绍。 首先,jqGrid支持多种数据源,包括JSON、XML、HTML、CSV等,这使得它能灵活地与各种后端服务进行...

    jqGrid-master

    这些示例对于初学者来说非常有用,可以快速理解和学习如何应用jqGrid。 3. **文档**:可能还会有详细的API文档和用户手册,帮助开发者了解jqGrid的所有功能和选项。通过阅读文档,你可以了解如何设置列定义、数据...

    jqGrid-3.5.alfa-2

    通过这些示例文件,开发者不仅可以学习到jqGrid的基本使用,还能了解到如何根据实际需求进行功能扩展和性能优化。对于需要在网页上处理复杂数据展示和交互的项目,jqGrid是一个非常实用的工具。

    jquery.jqGrid-4.3.1+jquery-ui-1.8.17.rar

    通过深入学习和熟练运用这两个库,开发者可以极大地提高开发效率,同时为用户提供高效、直观的数据操作体验。无论是数据展示、检索还是编辑,jqGrid和jQuery UI都是现代Web开发不可或缺的利器。

    jquery最好的插件jqGrid-3.4.2 学习资源

    jqGrid是一款基于jQuery的开源数据网格插件,版本3.4.2是其经典且广泛使用的版本。这个学习资源包含了所有必要的组件,帮助开发者深入了解和掌握jqGrid的强大功能。 首先,`jquery.js`是jQuery的核心库,它是jqGrid...

    jquery.jqGrid-4.6.0

    这个压缩包“jquery.jqGrid-4.6.0”包含了该库的4.6.0版本,这是一个被广泛使用的稳定版本,提供了强大的数据网格功能,包括数据的检索、排序、过滤、编辑和分页。 首先,让我们详细了解jqGrid的核心组件: 1. **...

    free-jqgrid-4.15.5.tgz

    本文将深入探讨free-jqgrid-4.15.5版本,此版本包含了所有的js和css文件,为开发者提供了完整的jqGrid学习和应用资源。 一、jqGrid概述 jqGrid是一款基于jQuery的开源数据网格组件,它允许用户在网页上创建交互式...

    jqGrid-4.15.2

    jqGrid 是一个强大的 jQuery 插件,用于在网页上创建、操作和展示数据表格。它在Web开发领域中被广泛使用,特别是在需要...通过深入学习和实践,开发者可以充分利用 jqGrid 的强大功能,打造功能丰富的数据管理界面。

    jQgrid demo

    通过分析和运行这个 demo,你可以学习如何配置和定制 jQGrid,以适应你的项目需求。例如,你可以看到如何设置数据源、定义列模型、启用分页和搜索功能,以及如何处理编辑和保存操作。这将帮助你快速上手 jQGrid,并...

    jquery.jqGrid-4.4.5.zip

    jqGrid是一款功能强大的jQuery插件,用于在网页上创建、操作和展示数据表格。这个"jquery.jqGrid-4.4.5.zip"压缩包包含...通过学习和掌握它的使用,开发者可以轻松构建出功能丰富、用户体验良好的数据展示和管理界面。

    jqgrid +bootstrap4.0 直接使用

    通过深入研究这个示例,开发者可以学习到如何自定义列、设置数据操作、使用过滤和排序功能,以及如何将 jqGrid 与后端服务器进行通信。对于希望提升网页数据展示和管理能力的开发者而言,这是一个宝贵的资源。

    前端项目-free-jqgrid.zip

    2. **示例**:demo目录下的各种示例代码展示了jqGrid的各种功能和用法,是学习和调试的好帮手。 3. **文档**:docs目录中的文档详细解释了jqGrid的配置选项、方法、事件等,是开发者的参考手册。 4. **本地化**:i18...

    jquery.jqGrid-3.6.4Demo

    通过 `jqGridFirstDemo`,你可以学习到如何在实际项目中运用 `jQuery.jqGrid 3.6.4`,包括基本的配置、功能的启用以及对各种特性的定制。这个演示不仅展示了 `jqGrid` 的强大功能,还提供了一个动手实践的平台,帮助...

    jqGrid5.5 版本

    jqGrid是一款功能强大的JavaScript数据网格...学习jqGrid5.5不仅可以提高数据展示和管理的效率,还能提升开发者的前端技能。通过深入理解和实践,开发者可以充分利用jqGrid的强大功能,为用户带来更优质的交互体验。

    jquery.jqGrid-4.6.0.zip

    而"jquery.jqGrid.src.js"则是未压缩的源码,方便开发者进行调试和学习。 "plugins"目录包含了jqGrid的可扩展功能插件。这些插件进一步增强了jqGrid的能力,如分页、排序、搜索、编辑等。例如,"treegrid"插件允许...

    jqgrid学习

    jqGrid 是一个强大的 jQuery 插件,用于在网页上创建、操作和展示数据表格。它提供了丰富的功能,如数据分页、排序、过滤、编辑、导入...通过学习和实践,我们可以利用它创建出交互性强、用户体验良好的数据管理界面。

    Guriddo_jqGrid_JS_5.4.0-Trial.zip

    6. **学习和应用**:对于初学者,可以通过官方文档和示例代码学习如何使用jqGrid。对于开发者,可以结合其他前端框架(如Bootstrap)和后端技术(如PHP、ASP.NET、Node.js等)构建完整的Web应用。 总之,Guriddo_...

    jqGrid 4.4.1

    - `docs`: 官方文档,帮助开发者了解和学习如何使用jqGrid。 - `src`: jqGrid的源代码,方便开发者查看和定制。 通过以上内容,我们可以看到jqGrid 4.4.1是一个功能强大的表格插件,提供了全面的数据管理和展示功能...

    jqgrid+三大框架

    以上就是"jqgrid+三大框架"项目的核心知识点,通过这个项目,开发者可以学习到如何将前端与后端完美结合,实现高效的数据展示和交互。同时,这也是一个典型的Java Web开发案例,对于理解和掌握Java EE应用的开发流程...

    MVC4网站中集成jqGrid表格插件-示例源代码.zip

    通过查看这个示例,你可以学习如何在实际项目中将jqGrid与MVC4结合使用,实现数据的动态加载、分页、排序和过滤功能。 总之,jqGrid在ASP.NET MVC4中的集成能够极大地提升Web应用的数据展示能力,使用户可以方便地...

Global site tag (gtag.js) - Google Analytics