zl程序教程

您现在的位置是:首页 >  大数据

当前栏目

16jqGrid - 表格数据操作

数据 操作 表格
2023-09-11 14:15:41 时间

这个例子告诉我们如何在客户端处理数据。要想将数据同步到服务器,我们必须要自己去写代码。
在这里插入图片描述

HTML代码举例

<html>
  <head>
    <title>jqGrid 实例</title>
  </head>
  <body>
    ···代码省略···
    <table id="list5"></table>
    <div id="pager5"></div>
    <br />
    <a href="#" id="a1">Get data from selected row</a>
    <br />
    <a href="#" id="a2">Delete row 2</a>
    <br />
    <a href="#" id="a3">Update amounts in row 1</a>
    <br />
    <a href="#" id="a4">Add row with id 99</a>
    ···代码省略···
  </body>
</html>
			

javascript代码举例

$(function(){
  pageInit();
});
function pageInit(){
  jQuery("#list5").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 : '#pager5',
        sortname : 'id',
        viewrecords : true,
        sortorder : "desc",
        caption : "Simple data manipulation",
        editurl : "someurl.php"
      }).navGrid("#pager5", {edit : false,add : false,del : false});
  jQuery("#a1").click(function() {
    var id = jQuery("#list5").jqGrid('getGridParam', 'selrow');
    if (id) {
      var ret = jQuery("#list5").jqGrid('getRowData', id);
      alert("id=" + ret.id + " invdate=" + ret.invdate + "...");
    } else {
      alert("Please select row");
    }
  });
  jQuery("#a2").click(function() {
    var su = jQuery("#list5").jqGrid('delRowData', 12);
    if (su)
      alert("Succes. Write custom code to delete row from server");
    else
      alert("Allready deleted or not in list");
  });
  jQuery("#a3").click(function() {
    var su = jQuery("#list5").jqGrid('setRowData', 11, {
      amount : "333.00",
      tax : "33.00",
      total : "366.00",
      note : "<img src='images/user1.gif'/>"
    });
    if (su)
      alert("Succes. Write custom code to update row in server");
    else
      alert("Can not update");
  });
  jQuery("#a4").click(function() {
    var datarow = {
      id : "99",
      invdate : "2007-09-01",
      name : "test3",
      note : "note3",
      amount : "400.00",
      tax : "30.00",
      total : "430.00"
    };
    var su = jQuery("#list5").jqGrid('addRowData', 99, datarow);
    if (su){
      alert("Succes. Write custom code to add data in server");
    }else{
      alert("Can not update");
    }
  });
}

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

}