41jqGrid 实时数据处理-编辑行

简介: 41jqGrid 实时数据处理-编辑行

这个例子展示了我们如何针对数据编辑而添加一个弹出对话框。

HTML代码举例

<html>
  <head>
    <title>jqGrid 实例</title>
  </head>
  <body>
    ···代码省略···
    <table id="editgrid"></table>
    <div id="pagered"></div>
    <input type="BUTTON" id="bedata" value="Edit Selected" />
    ···代码省略···
  </body>
</html>

javascript代码举例

$(function(){
  pageInit();
});
function pageInit(){
   jQuery("#editgrid").jqGrid(
      {
        url : ctx+'/JSONData',
        datatype : "json",
        colNames : [ 'Inv No', 'Date', 'Client', 'Amount', 'Tax','Total', 'Closed', 'Ship via', 'Notes' ],
        colModel : [ 
                     {name : 'id',index : 'id',width : 55,editable : false,editoptions : {readonly : true,size : 10}}, 
                     {name : 'invdate',index : 'invdate',width : 80,editable : true,editoptions : {size : 10}}, 
                     {name : 'name',index : 'name',width : 90,editable : true,editoptions : {size : 25}}, 
                     {name : 'amount',index : 'amount',width : 60,align : "right",editable : true,editoptions : {size : 10}}, 
                     {name : 'tax',index : 'tax',width : 60,align : "right",editable : true,  editoptions : {size : 10}}, 
                     {name : 'total',index : 'total',width : 60,  align : "right",editable : true,editoptions : {size : 10}}, 
                     {name : 'closed',  index : 'closed',  width : 55,align : 'center',  editable : true,  edittype : "checkbox",editoptions : {value : "Yes:No"}}, 
                     {name : 'ship_via',index : 'ship_via',  width : 70,editable : true,  edittype : "select",editoptions : {  value : "FE:FedEx;TN:TNT"}}, 
                     {name : 'note',index : 'note',width : 100,sortable : false,editable : true,edittype : "textarea",editoptions : {rows : "2",cols : "20"}} 
                   ],
        rowNum : 10,
        rowList : [ 10, 20, 30 ],
        pager : '#pagered',
        sortname : 'id',
        viewrecords : true,
        sortorder : "desc",
        caption : "Editing Example",
        editurl : ctx+"/RowEditing"
      });
  $("#bedata").click(function() {
    var gr = jQuery("#editgrid").jqGrid('getGridParam', 'selrow');
    if (gr != null)
      jQuery("#editgrid").jqGrid('editGridRow', gr, {
        height : 300,
        reloadAfterSubmit : false
      });
    else
      alert("Please Select Row");
  });
}

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);
  }
}

目录
相关文章
|
6月前
|
数据采集 自然语言处理 监控
|
4月前
|
中间件 数据处理 Apache
|
17天前
|
存储 数据管理 数据处理
ArkUI常用数据处理:掌握Map操作与动态数据管理
在HarmonyOS应用开发中,ArkUI框架提供了丰富的数据处理能力,特别是对Map这类非线性容器的操作。本文详细介绍了ArkUI中Map的基本概念、操作方法及其在实际开发中的应用,包括数据存储、快速检索和动态更新。通过示例代码展示了HashMap、HashSet和TreeMap的使用,以及如何结合异步数据处理和状态管理提升应用性能和用户体验。
125 2
|
2月前
|
数据采集 JSON 数据处理
加载数据模型:在数据采集中实现动态数据处理
在现代网络爬虫技术中,动态数据处理对于提升采集效率和准确性至关重要。本文以拼多多为例,探讨了如何通过加载数据模型实现动态数据处理,并结合代理IP、Cookie、User-Agent设置及多线程技术提升数据采集效率。文中详细分析了动态数据模型的必要性、代理IP的应用、Cookie和User-Agent的设置,以及多线程技术的实现。通过Python代码示例展示了如何加载拼多多的商品数据模型,并实时获取商品信息,显著提升了数据采集的速度和稳定性。此方法在面对复杂网站结构和防爬虫机制时表现出色,适用于多种应用场景。
加载数据模型:在数据采集中实现动态数据处理
|
16天前
|
消息中间件 存储 SQL
ClickHouse实时数据处理实战:构建流式分析应用
【10月更文挑战第27天】在数字化转型的大潮中,企业对数据的实时处理需求日益增长。作为一款高性能的列式数据库系统,ClickHouse 在处理大规模数据集方面表现出色,尤其擅长于实时分析。本文将从我个人的角度出发,分享如何利用 ClickHouse 结合 Kafka 消息队列技术,构建一个高效的实时数据处理和分析应用,涵盖数据摄入、实时查询以及告警触发等多个功能点。
31 0
|
3月前
|
存储 数据处理 API
数据处理
【8月更文挑战第21天】
38 1
|
6月前
|
JavaScript 前端开发 数据处理
javascript数据处理和筛选
javascript数据处理和筛选
30 1
|
6月前
|
存储 JavaScript 前端开发
JavaScript复杂功能实现:实时数据可视化图表
JavaScript复杂功能实现:实时数据可视化图表
|
JavaScript 前端开发 Java
42jqGrid 实时数据处理-新增行
42jqGrid 实时数据处理-新增行
41 0
|
JavaScript 前端开发 Java
44jqGrid 实时数据处理-导航
44jqGrid 实时数据处理-导航
34 0