31jqGrid 行编辑- 自定义编辑

简介: 31jqGrid 行编辑- 自定义编辑

这个例子展示了如何为每一行增加一列,里面定义了三个功能。

这个功能在服务器上和客户端上都可以实现。这个例子展示了客户端的解决方案。

要完成这个,我们需要用到的方法有getDataIDs,setRowData和loadComplete 。

E表示编辑,S表示保存,C表示取消编辑。

HTML代码举例

<html>
  <head>
    <title>jqGrid 实例</title>
  </head>
  <body>
    ···代码省略···
    <table id="rowed2"></table> 
    <div id="prowed2"></div>
    ···代码省略···
  </body>
</html>

javascript代码举例

$(function(){
  pageInit();
});
function pageInit(){
  jQuery("#rowed2").jqGrid(
          {
            url : ctx+'/JSONData',
            datatype : "json",
            colNames : [ 'Actions', 'Inv No', 'Date', 'Client','Amount', 'Tax', 'Total', 'Notes' ],
            colModel : [ 
                         {name : 'act',index : 'act',width : 75,sortable : false}, 
                         {name : 'id',index : 'id',width : 55}, 
                         {name : 'invdate',index : 'invdate',width : 90,editable : true}, 
                         {name : 'name',index : 'name',width : 100,editable : true}, 
                         {name : 'amount',index : 'amount',width : 80,align : "right",editable : true}, 
                         {name : 'tax',index : 'tax',width : 80,align : "right",editable : true}, 
                         {name : 'total',index : 'total',width : 80,align : "right",editable : true}, 
                         {name : 'note',index : 'note',width : 150,sortable : false,editable : true} 
                       ],
            rowNum : 10,
            rowList : [ 10, 20, 30 ],
            pager : '#prowed2',
            sortname : 'id',
            viewrecords : true,
            sortorder : "desc",
            gridComplete : function() {
              var ids = jQuery("#rowed2").jqGrid('getDataIDs');
              for ( var i = 0; i < ids.length; i++) {
                var cl = ids[i];
                be = "<input style='height:22px;width:20px;' type='button' value='E' onclick=\"jQuery('#rowed2').editRow('"
                    + cl + "');\" />";
                se = "<input style='height:22px;width:20px;' type='button' value='S' onclick=\"jQuery('#rowed2').saveRow('"
                    + cl + "');\" />";
                ce = "<input style='height:22px;width:20px;' type='button' value='C' onclick=\"jQuery('#rowed2').restoreRow('"
                    + cl + "');\" />";
                jQuery("#rowed2").jqGrid('setRowData', ids[i],
                    {
                      act : be + se + ce
                    });
              }
            },
            editurl : ctx+"/RowEditing",
            caption : "Custom edit "
          });
  jQuery("#rowed2").jqGrid('navGrid', "#prowed2", {
    edit : false,
    add : false,
    del : false
  });
}

java servlet代码举例

public class JSONData extends HttpServlet {
  private static final long serialVersionUID = 1L;
    /**
     * @see HttpServlet#HttpServlet()
     */
    public JSONData() {
        super();
        // TODO Auto-generated constructor stub
    }
  @Override
  protected void doGet(HttpServletRequest req, HttpServletResponse resp)
      throws ServletException, IOException {
    // TODO Auto-generated method stub
    doPost(req,resp);
  }
  /**
   * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
   */
  protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    // TODO Auto-generated method stub
    String jsondata = "{\"page\":\"1\"," +
        "      \"total\":2," +
        "      \"records\":\"13\"," +
        "      \"rows\":" +
        "          [" +
        "            {" +
        "              \"id\":\"13\"," +
        "              \"cell\":" +
        "                  [\"13\",\"2007-10-06\",\"Client 3\",\"1000.00\",\"0.00\",\"1000.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"12\"," +
        "              \"cell\":" +
        "                  [\"12\",\"2007-10-06\",\"Client 2\",\"700.00\",\"140.00\",\"840.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"11\"," +
        "              \"cell\":" +
        "                  [\"11\",\"2007-10-06\",\"Client 1\",\"600.00\",\"120.00\",\"720.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"10\"," +
        "              \"cell\":" +
        "                  [\"10\",\"2007-10-06\",\"Client 2\",\"100.00\",\"20.00\",\"120.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"9\"," +
        "              \"cell\":" +
        "                  [\"9\",\"2007-10-06\",\"Client 1\",\"200.00\",\"40.00\",\"240.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"8\"," +
        "              \"cell\":" +
        "                  [\"8\",\"2007-10-06\",\"Client 3\",\"200.00\",\"0.00\",\"200.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"7\"," +
        "              \"cell\":" +
        "                  [\"7\",\"2007-10-05\",\"Client 2\",\"120.00\",\"12.00\",\"134.00\",null]" +
        "            }," +
        "            {" +
        "              \"id\":\"6\"," +
        "              \"cell\":" +
        "                  [\"6\",\"2007-10-05\",\"Client 1\",\"50.00\",\"10.00\",\"60.00\",\"\"]" +
        "            }," +
        "            {" +
        "              \"id\":\"5\"," +
        "              \"cell\":" +
        "                  [\"5\",\"2007-10-05\",\"Client 3\",\"100.00\",\"0.00\",\"100.00\",\"no tax at all\"]" +
        "            }," +
        "            {" +
        "              \"id\":\"4\"," +
        "              \"cell\":" +
        "                  [\"4\",\"2007-10-04\",\"Client 3\",\"150.00\",\"0.00\",\"150.00\",\"no tax\"]" +
        "            }" +
        "          ]," +
        "      \"userdata\":{\"amount\":3220,\"tax\":342,\"total\":3564,\"name\":\"Totals:\"}" +
        "    }";
    response.getWriter().write(jsondata);
  }
}
目录
相关文章
|
JavaScript 前端开发 搜索推荐
CSR、SSR与同构渲染全方位解析
CSR、SSR与同构渲染全方位解析
387 0
|
机器学习/深度学习 传感器 数据采集
机器学习和人工智能在实际业务场景中的应用
机器学习和人工智能在实际业务场景中的应用
401 7
|
XML SQL 负载均衡
MyCat - 高级 - 读写分离 - 一主一从读写分离配置 | 学习笔记
快速学习MyCat - 高级 - 读写分离 - 一主一从读写分离配置
MyCat - 高级 - 读写分离 - 一主一从读写分离配置 | 学习笔记
算法:分治思想处理归并递归问题
算法:分治思想处理归并递归问题
|
弹性计算
阿里云ECS使用体验
在申请高校学生免费体验阿里云ECS云服务器后的一些使用体验和感受。
|
算法 数据可视化 物联网
马家柚数智蜕变记
看广丰区马家柚如何“智”卖柚!
4258 4
马家柚数智蜕变记
|
存储 缓存 监控
Ansible最佳实践之 AWX 作业创建和启动
写在前面 分享一些 AWX 作业创建和启动的笔记 博文内容涉及: 创建作业模板 涉及相关参数,作业模板角色配置介绍 运行作业模板并测试的Demo 食用方式: 需要了解 Ansible 理解不足小伙伴帮忙指正
604 0
Ansible最佳实践之 AWX 作业创建和启动
|
Ubuntu 关系型数据库 MySQL
Linux 常用命令(前言、文件管理、文件编辑、备份压缩)大全(一)
Linux 常用命令(前言、文件管理、文件编辑、备份压缩)大全(一)
689 0
Linux 常用命令(前言、文件管理、文件编辑、备份压缩)大全(一)
字符串函数剖析(1)
详解strlen的细节 首先了解strlen 函数的参数 size_t 是什么东西呢?
|
前端开发 定位技术 iOS开发
Flutter 怎么实现地图导航功能?
Flutter 怎么实现地图导航功能? 大家好,我是坚果,我的公众号“坚果前端”, 本来今天带来的是 flutter 基础部分,但是有人问道说是 Flutter 怎么实现地图导航功能,那么今天就和大家交流一下
912 0
Flutter 怎么实现地图导航功能?

热门文章

最新文章