V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
0f2e3z8n4z
V2EX  ›  程序员

有没有人使用过 JqGrid 这个插件?请教面向 api 编程的姿势

  •  
  •   0f2e3z8n4z · 2016-09-06 18:15:21 +08:00 · 3111 次点击
    这是一个创建于 2991 天前的主题,其中的信息可能已经有所发展或是发生改变。

    JqGrid https://github.com/tonytomov/jqGrid

    官网: http://www.trirand.com/blog/

    官方文档: http://www.trirand.com/jqgridwiki/doku.php

    我用的版本是 5.0.2 ,还有个版本是 5.1.1

    官方文档也没更新 5 以上的文档

    1.行内编辑成功修改了后台数据,但是没重新刷新 grid ,还是显示了以前的数据,手动刷新就可以看到新的数据,如何让它改了数据就自动刷新 grid ?

    2.增删改查的数据,我要用自己的按钮触发,如何书写?

    3.如何面向 api 编程?

    我的姿势,官方文档,官方 demo , github ,百度

    8 条回复    2016-09-07 11:49:34 +08:00
    yiyizym
        1
    yiyizym  
       2016-09-06 18:46:56 +08:00
    官方都没文档的版本,你还敢用,心真大啊,当年我就觉得 jqGrid 的文档超烂,但起码还能用。

    看文档还解决不了的问题,就到源码找关键字,逐行看到明白为止。
    0f2e3z8n4z
        2
    0f2e3z8n4z  
    OP
       2016-09-06 21:20:25 +08:00 via Android
    @yiyizym 组长要套一个后台模板,里面用的就是 jqgrid 他就叫我这个实习生去琢磨怎么用,搞个 demo 出来
    palmers
        3
    palmers  
       2016-09-06 23:22:01 +08:00
    1. jqgrid 行 /列编辑保存默认是 enter/取消 ESC,如果不满意,可以取消自己手动调用 api /saveCell/Row 这样被编辑行 /列会马上刷新,如果是需要修改多行 /列然后刷新,也可以调用 api reloadGrid 手动刷新 grid 数据;
    2. crud 可以在初始化 grid 的时候去掉 crud 操作导航按钮,然后手动绑定事件实现增 /删 /改 /查 / 类似: $(‘#gridid ’).jqGrid({xxx:xx,....}).navGrid('#gridpager',{add:false,edit:false,del:false})
    3. 面向 api 编程? 不懂 帮不了你
    chaegumi
        4
    chaegumi  
       2016-09-07 07:55:01 +08:00
    几年前有用过 jqgrid ,是你看的文档不对,我是看 demo 学习的。
    0f2e3z8n4z
        5
    0f2e3z8n4z  
    OP
       2016-09-07 08:27:09 +08:00 via Android
    @chaegumi jqgrid 一直在更新中,但是我在官网的文档中没找到 5.0 以上的文档
    z807550686
        6
    z807550686  
       2016-09-07 09:18:26 +08:00 via Android
    jqwidgets 的 jqxgrid 感觉还不错,文档做的挺不错。
    0f2e3z8n4z
        7
    0f2e3z8n4z  
    OP
       2016-09-07 09:44:42 +08:00
    @palmers 你好,问一下你用的是哪个版本?我现在是添加了 editurl ,然后后台处理一下参数,当行内编辑成功之后就可以成功修改了数据,但是这个保存之后回调函数应该写在哪里?
    palmers
        8
    palmers  
       2016-09-07 11:49:34 +08:00
    @0f2e3z8n4z v5.1 你给的网站 doc 上有 行编辑 章节有一个例子:
    ```javascript
    jQuery("#grid_id").jqGrid('editRow',rowid, keys, oneditfunc, successfunc, url, extraparam, aftersavefunc,errorfunc, afterrestorefunc);
    ```
    `aftersavefunc` 就是保存后回调
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1862 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 16:36 · PVG 00:36 · LAX 08:36 · JFK 11:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.