27jqGrid 3.0新特征- 数据加载完成回调

简介: 27jqGrid 3.0新特征- 数据加载完成回调

这个例子演示了jqGrid的两个新功能。

  1. loadComplete() callback -该方法是在执行加载数据后立即执行。
    这样我们就可以根据不同的需求来做不同的变化修改。
  2. 新方法 getDataIDs() -返回当前加载数据的id列表。
    这个方法可以与loadComplete回调方法组合来试用。

HTML代码举例

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

javascript代码举例

$(function(){
  pageInit();
});
function pageInit(){
  jQuery("#list15")
      .jqGrid(
          {
            url : ctx+'/JSONData',
            datatype : "json",
            colNames : [ 'Inv No', 'Date', 'Client', 'Amount','Tax', 'Total', 'Notes' ],
            colModel : [ 
                         {name : 'id',index : 'id',width : 55}, 
                         {name : 'invdate',  index : 'invdate',width : 90}, 
                         {name : 'name',index : 'name',width : 100}, 
                         {name : 'amount',index : 'amount',width : 80,align : "right"}, 
                         {name : 'tax',index : 'tax',width : 80,align : "right"}, 
                         {name : 'total',index : 'total',width : 80,align : "right"}, 
                         {name : 'note',index : 'note',width : 150,sortable : false} 
                       ],
            rowNum : 10,
            rowList : [ 10, 20, 30 ],
            pager : '#pager15',
            sortname : 'id',
            viewrecords : true,
            sortorder : "desc",
            loadComplete : function() {
              var ret;
              alert("这个方法是执行加载数据完成之后的回调方法。我们可以尝试在此之后更新第13行数据。");
              ret = jQuery("#list15").jqGrid('getRowData', "13");
              if (ret.id == "13") {
                jQuery("#list15")
                    .jqGrid(
                        'setRowData',
                        ret.id,
                        {
                          note : "<font color='red'>Row 13 is updated!</font>"
                        })
              }
            }
          });
  jQuery("#sids").click(function() {
    alert("Id's of Grid: \n" + jQuery("#list15").jqGrid('getDataIDs'));
  });
} 

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月前
|
Web App开发 JSON 前端开发
Ajax实现动态及时刷新表格数据
Ajax实现动态及时刷新表格数据
|
JavaScript 前端开发 Java
14jqGrid - 一次性加载数据
14jqGrid - 一次性加载数据
76 0
|
18天前
|
JavaScript 数据安全/隐私保护
2024了,你会使用原生js批量获取表单数据吗
2024了,你会使用原生js批量获取表单数据吗
41 4
|
2月前
|
数据采集 存储 数据处理
通过load->model()加载数据模型:在采集中实现动态数据处理
本文介绍了在现代网络爬虫技术中,动态数据处理的重要性和实现方法。文章以采集小红书短视频为例,详细讲解了如何通过`load->model()`方法加载数据模型来处理动态数据。首先,强调了动态数据处理在爬虫技术中的必要性,尤其是对于需要实时更新或用户交互的网页。接着,通过安装必要的Python库,使用代理IP技术,设置User-Agent和Cookie,以及动态加载数据模型的步骤,展示了如何构建一个高效的爬虫系统。文章还提供了完整的代码示例,包括环境准备、代理IP配置、请求头设置、数据模型加载和数据解析等关键步骤,成功应用于小红书短视频数据的采集。
80 13
通过load->model()加载数据模型:在采集中实现动态数据处理
|
前端开发 JavaScript 数据格式
echarts异步数据加载(在下拉框选择事件中异步更新数据)
接触echarts 大半年了,从不会到熟练也做过不少的图表,隔了一段时间没使用这玩意,好多东西真心容易忘了。在接触echarts这期间也没有总结什么东西,今天我就来总结一下如何在echart中异步加载数据,在实际的工作的中对数据的刷选非常常见,比如在下拉框中选择,时间选择等的一些事件中异步加载数据。
3363 0
|
2月前
|
BI API
Form 中调用并发请求生成报表并输出PDF的方法
【9月更文挑战第11天】该文档介绍了在表单中通过并发请求生成报表并将其输出为PDF的方法,包括设置并发请求、配置输出选项、触发请求及处理结果。具体步骤涉及创建请求、配置参数、设置输出类型为PDF、添加触发按钮、调用请求API、等待请求完成、获取并显示PDF文件。需根据所用系统和技术调整实现细节。
|
3月前
|
数据可视化
载入数据集, 查看数据属性,可视化
【8月更文挑战第8天】载入数据集, 查看数据属性,可视化。
40 3
35zTree - 一次性加载大数据量
35zTree - 一次性加载大数据量
35 0
35zTree - 一次性加载大数据量
|
JSON JavaScript 前端开发
VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法
VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法
1011 0
VUE element-ui之table表格前端自动过滤(筛选),不调用数据接口筛选表格,方法
|
前端开发 JavaScript Java
70jqGrid - 一次性加载多级表格数据
70jqGrid - 一次性加载多级表格数据
43 0