这个例子展示了我们如何针对数据编辑而添加一个弹出对话框。
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); } }