在 JQGrid 中映射 JSON 数据

2024-01-28

我正在使用 jqGrid 3.6.4 和 jquery 1.4.2 。在我的示例中,我得到以下 json 数据格式&我想将这些 json 数据映射到 jqgrid 的行中

{
"page": "1",
"total": 1,
"records": "6",
"rows": [
    {
        "head": {
            "student_name": "Mr S. Jack ",
            "year": 2007

        },
        "sub": [
            {
                "course_description": "Math ",
                "date": "22-04-2010",
                "number": 1,
                "time_of_add": "2:00",
                "day": "today"
            }
        ]

      }
]
}

我的jqgrid代码如下

jQuery("#"+subgrid_table_id).jqGrid({
url:"http://localhost/stud/beta/web/GetStud.php?sid="+sid,
dtatype: "json",
colNames: ['Stud Name','Year','Date'.'Number'],
colModel: [ {name:'Stud Name',index:'student_name', width:100, jsonmap:"student_name"},
{name:'Year',index:'year', width:100, jsonmap:"year"},
{name:'Date',index:'date', width:100, jsonmap:"date"},
{name:'Number',index:'number', width:100, jsonmap:"number"}
],
height:'100%',
jsonReader: { repeatitems : false, root:"head" },
});

所以现在的问题是,由于我的数据(即学生姓名和年份)位于“head”下,jqgrid 能够找到这两个字段。同时其他两列值,即日期和数字位于“子”下,甚至这些列我也无法使用 jqgrid 映射它

请帮助我如何在 JQGrid 中找到这些属性。

Thanks


首先,发布的代码有一些错误,例如dtatype: "json"代替datatype: "json". "},});“ 代替 ”}});“ 在代码末尾和colNames: ['Stud Name','Year','Date'.'Number']代替colNames: ['Stud Name','Year','Date','Number']。修复这些明显的错误后,您需要进行更改jsonmap价值观。这是你的主要问题。固定代码如下所示:

jQuery("#"+subgrid_table_id).jqGrid({
    ...
    datatype: 'json',
    colNames: ['Stud Name','Year','Date'.'Number'],
    colModel: [
        {name:'student_name', width:100, jsonmap:"head.student_name"},
        {name:'year', width:100, jsonmap:"head.year"},
        {name:'date', width:100, jsonmap:"sub.0.date"},
        {name:'number', width:100, jsonmap:"sub.0.number"}
    ],
    jsonReader: { repeatitems:false, root:"rows" }
});

你必须修复root to "rows”并使用jsonmap in JSON 点表示法 (see http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieve_data#json_dot_notation http://www.trirand.com/jqgridwiki/doku.php?id=wiki:retrieving_data#json_dot_notation)。我使用了一些奇怪的符号,例如“sub.0.number“ 因为sub.0.number在 JavaScript 中是一样的sub[0].number。现在可以了。

我建议您再考虑一下您收到的 JSON 数据的结构。 (请参阅我之前对您的问题的评论):“子”元素实际上是一个始终包含一个元素的数组还是您想使用子网格?数据可能应该从sub:[{"":"", ...}] to sub:{"":"", ...}?你想用什么作为 rowid?student_name?然后加id: "head.student_name" to the jsonReader定义或添加key: true属性到列的定义student_name。或者您忘记将其包含在 JSON 数据中?

还有最后一个建议。如果你打开http://trirand.com/blog/jqgrid/jqgrid.html http://trirand.com/blog/jqgrid/jqgrid.html并在树的左侧打开分支“数据映射”\“数据优化”,您将看到一个示例,其中仅使用数组而不是 JSON 中的命名元素。此类数据将具有最小的大小,并且可以更快地从服务器传输到客户端。相反,您的数据有一些字段(例如“课程描述“)你根本不使用它。所以如果您可以在服务器中进行任何更改代码尝试优化数据传输速率。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 JQGrid 中映射 JSON 数据 的相关文章

随机推荐

  • 如何在Wordpress中隐藏模板? [关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 有没有办法在管理中隐藏模板文件 例如 我有一个模板 仅在安装了特定插件后才可用 并且我已经知道如何检查插件是否处于活动状态 但是如何隐藏模板呢 例如
  • 使用 MailKit / MimeKit 从电子邮件中删除附件

    我正在使用 MailKit 库来处理电子邮件 它运行良好 但是 我试图将电子邮件拆分为其组成文件 a 主电子邮件 无附件 b 单个附件文件 以存储在文件系统上 我可以单独保存附件 但似乎无法从电子邮件正文代码中删除它们 IE 它们与主电子邮
  • 使用 Django 通道进行会话身份验证

    尝试使用 Django 通道进行身份验证 使用一个非常简单的 websockets 应用程序 该应用程序回显用户使用前缀发送的任何内容 You said 我的流程 web gunicorn myproject wsgi log file p
  • Log4j 配置和观察无法正常工作

    我在我的应用程序中使用 log4j 进行日志记录 从现在开始 我使用以下代码来配置日志记录 LogManager resetConfiguration InputStream stream Thread currentThread getC
  • Android Studio:尝试呈现 XML 布局时出现 InvalidVirtualFileAccessException

    我正在尝试在我的应用程序中预览 xml 布局 任何 xml 布局 我正在使用 Android Studio 1 5 Preview 2 我一遍又一遍地收到此错误 InvalidVirtualFileAccessException 访问无效的
  • 使用 Excel VBA 运行 SQL 查询

    我对 SQL 和 VBA 相当陌生 我编写了一个 SQL 查询 我希望能够从 Excel 工作簿中的 VBA 子程序调用和运行该查询 然后将查询结果带入工作簿中 我在网上找到了一些潜艇 stackoverflow 和其他地方 声称可以这样做
  • 寻找家谱[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在为我的 Web 应用程序创建具有 HTML5 要求的家谱功能 我已经搜索并找到了一些 JS 示例 但没有找到符合我要求的 我已经尝试
  • 隐藏特定子页面上的 Ionic TabBar (IONIC 3)

    我想在多个特定页面上隐藏我的标签栏 我的主要重点是将其隐藏在我的登录页面 注册页面和评论页面上 我尝试过 tabsHideOnSubPages true 但是当我这样做时我的 UserProfile 页面 这是一个子页面 隐藏选项卡栏 选项
  • 如何在 SSL 下从 PDO 连接 MySQL

    我已经配置了MySQLubuntu 服务器中的 SSL show variables like ssl Variable name Value have openssl YES have ssl YES ssl ca etc mysql c
  • 配置 WEBUTIL 后 Oracle Form 冻结

    我正在使用 Oracle Forms 10g 它是基于 Web 的 Oracle 表单应用程序 我想从 Oracle Forms 10g 生成 Excel 报告 我配置了 WEBUTIL 并使用 CLIENT OLE2 包 在触发器 WHE
  • 查找矩阵中对角线的单词字母

    我有一个5 6的矩阵 所有的值都是英文字母 我必须在矩阵中从左到右 从右到左 从上到下 从上到对角线找到特定的单词 其实这是一个字谜 我能找到 左右 右左 上下 和 下上 这些词 当涉及到对角线查找单词时 事情会变得更加混乱 我提供了从左到
  • Ionic Framework 和 Firebase 3.x 版本:此域未获得对您的 Firebase 项目进行 OAuth 操作的授权

    我正在使用 Ionic Framework 和 Firebase 开发 iOS 应用程序 我已在我的项目中将 Firebase SDK 更新到版本 3 x 我想做的是在真实设备上使用 Facebook 对用户进行身份验证 当我在浏览器上测试
  • JpaRepository删除子元素

    我正在尝试执行一个非常简单的删除操作 但不知何故它不起作用 因为我将 DAO 更新到了 JpaRepository 基本上是这样的 A a aRepository findOne id a setSomeField someNewStrin
  • Google App Engine 为什么某些日志没有显示?

    在 Google App Engine 灵活环境中 许多日志正在跳过 并且没有显示在日志记录控制台中 并且这种情况总是发生 我正在检查它Stackdriver LoggingGoogle Cloud 仪表板上的部分 我使用的日志显示cons
  • ReactJS如何仅在向下滚动并到达页面上时渲染组件?

    我有一个反应组件Data其中包括几个图表组件 BarChart LineChart etc When Data组件开始渲染 需要一段时间才能从API接收到每个图表所需的数据 然后开始响应并渲染所有图表组件 我需要的是开始渲染每个图表only
  • 在 Vaadin 14 应用程序的服务器端通过 Java 获取用户 Web 浏览器的 IP 地址

    In 瓦丁流 https en wikipedia org wiki Vaadin Vaadin Flow 比如14 1版本 如何获取IP地址 https en wikipedia org wiki IP address用户的网络浏览器通过
  • python:生成器对象的属性

    是否可以在生成器对象上创建属性 这是一个非常简单的例子 def filter x for line in myContent if line x yield x 现在假设我有很多这样的过滤器生成器对象漂浮在周围 也许其中一些是匿名的 我想稍
  • 使用 awk 将大型复杂的一列文件拆分为多列

    我有一个由某些商业软件生成的文本文件 如下所示 它由括号分隔的部分组成 每个部分都有数百万个元素 但具体值因情况而异 1 2 3 11 22 33 111 222 333 我需要实现如下输出 1 11 111 2 22 222 3 33 3
  • Request.UrlReferrer 在 Internet Explorer 7、8、9 浏览器中返回“null”

    在 Internet Explorer 7 8 9 浏览器中 C 的 Request UrlReferrer 返回 null 其原因何在 它的解决办法是什么 页面上有一些 单击此处 按钮 单击该按钮后 将在新选项卡中打开一个新的 url 页
  • 在 JQGrid 中映射 JSON 数据

    我正在使用 jqGrid 3 6 4 和 jquery 1 4 2 在我的示例中 我得到以下 json 数据格式 我想将这些 json 数据映射到 jqgrid 的行中 page 1 total 1 records 6 rows head