【JavaScript】WEB jquery jqgrid方法纯JS展现和编辑大量数据
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
JQuery jqGrid是开发Web应用程序中数据表格的一种非常强大、灵活和可自定义的工具。它提供了多种功能,例如分页、排序、搜索、编辑、滚动和导出等,可以与多种数据源进行交互。它的使用简单、灵活,能够处理大量数据,具有高度的自定义性。了解了JQuery jqGrid的各种方法,我们可以更好地管理和展示大量的数据表格,使得数据更加易于管理、搜索和分析。 JQuery jqGrid是一种强大、灵活和可自定义的Javascript表格插件,它采用了JQuery框架进行开发,可以帮助用户快速、轻松地创建和管理复杂的数据表格。它提供了丰富的特性和功能,例如分页、排序、搜索、编辑、滚动和导出等。 JQuery jqGrid主要被用于Web应用程序中的数据表格显示和编辑。它可以与多种数据源进行交互,例如XML、JSON和本地数组等。用户可以通过使用JQuery jqGrid插件,将复杂的数据表格转化为用户友好的界面,使得数据更加易于管理。 JQuery jqGrid是什么? JQuery jqGrid是基于JQuery框架的一种Javascript表格插件,也是一种开源项目。它支持多种数据源进行交互,可以处理大量数据,还提供较为灵活和自定义的配置选项。 JQuery jqGrid特点:
JQuery jqGrid使用简单和灵活。用户可以根据自己的需求和喜好调整表格的外观和功能。
JQuery jqGrid可以处理大量的数据,支持分页和滚动操作。这极大地增强了表格的可用性和效率。
JQuery jqGrid可以与多种数据格式进行交互,包括XML,JSON,本地数组等。
JQuery jqGrid提供排序和搜索功能,可以根据表格的列数据进行排序操作,并进行复杂的搜索。这使得用户可以更加方便地找到需要的数据。
JQuery jqGrid可以编辑和行操作。用户可以在表格内进行编辑、删除、复制、粘贴等操作,并且支持行拖拽和调整大小。 Jqgrid入门-显示基本的表格(一)
(1)HTML部分
1. <link href="<%=basePath%>main/css/ui.jqgrid.css" rel="stylesheet" type="text/css" /> 2. <link href="<%=basePath%>main/css/jquery-ui-1.8.1.custom.css" rel="stylesheet" type="text/css" /> 3. <script type="text/javascript" src="<%=basePath%>main/js/jquery-1.7.2.js"></script> 4. <script type="text/javascript" src="<%=basePath%>main/js/grid.locale-zh_CN.js"></script> 5. <script type="text/javascript" src="<%=basePath%>main/js/jquery.jqGrid.min.js"></script> 6. <script type="text/javascript" src="<%=basePath%>main/js/grid.custom.js"></script> 7. <table id="list"></table> 8. <div id="page"></div> (2)JS部分1. jqGrid的重要选项
2. colModel的重要选项
3. jsonReader选项1. jsonReader : { 2. root : "rows", // 实际模型的人口 3. page : "page", // 当前页码 4. total : total, // 当前共多少页 5. records : "records", // 总共多少行数据 6. repeatitems : true, 7. cell : "cell", 8. id : "id", 9. userdata : "userdata", // 数据 10.subgrid : { 11.root : "rows", 12.repeatitems : true, 13.cell : "cell" 14.} 15.} 1. jsonReader : { 2. root : "dataList", // 服务端保存数据的集合 3. records : "record", // 可以不要,因为我的服务端是record,不是默认的,才加上的 4. repeatitems : false 5. // 其它的全部默认就行 6. } 由此,Jqgrid完成一个request,并将得到的response,解析为所需的数据,显示到Grid表格中。整个流程就走完了。 Jqgrid入门-操作表格的数据(二)1. getGridParam1. var id = $("#gridTable").jqGrid("getGridParam", "selrow"); //获得选中行的ID 2. var sort = $("#gridTable").jqGrid("getGridParam", "sortname"); //获得排序的字段 3. var page = $("#gridTable").jqGrid("getGridParam", "page"); //获得当前的页数 4. var row = $("#gridTable").jqGrid("getGridParam", "rowNum"); //获得当前页的行数 5. var count = $("#gridTable").jqGrid("getGridParam", "records"); //获得总记录数 6. var rows = $("#gridTable").jqGrid("getGridParam", "selarrrow"); //可以多选时,返回选中行的ID 2. getRowData1. var getRowdata = function() { 2. var selectedId = $("#gridTable").jqGrid("getGridParam", "selrow"); 3. var rowData = $("#gridTable").jqGrid("getRowData", selectedId);
1. var addStudent= function() { 2. var selectedId = $("#gridTable").jqGrid("getGridParam", "selrow"); 3. var dataRow = { 4. id : 99, 5. lastName : "Zhang", 6. firstName : "San", 7. email : "<a href="mailto:zhang_san@126.com">zhang_san@126.com</a>", 8. telNo : "0086-12345678" 9. }; 10.if (selectedId) { 11.$("#gridTable").jqGrid("addRowData", 99, dataRow, "before", selectedId); 12.} else { 13.$("#gridTable").jqGrid("addRowData", 99, dataRow, "first"); 14.} 15.}; 4. setRowData
1. var updateStudent = function() { 2. var selectedId = $("#gridTable").jqGrid("getGridParam", "selrow"); 3. var dataRow = { 4. lastName : "Li", 5. firstName : "Si", 6. email : "<a href="mailto:li_si@126.com">li_si@126.com</a>" 7. }; 8. var cssprop = { 9. color : "#FF0000" 10.}; 11.$("#gridTable").jqGrid('setRowData', selectedId, dataRow, cssprop); 12.}; 1. var deleteStudent = function() { 2. var selectedId = $("#gridTable").jqGrid("getGridParam", "selrow"); 3. $("#gridTable").jqGrid('delRowData', selectedId); 4. }; 1. $("#gridTable").jqGrid("setGridParam", { 2. datatype : "json", 3. search : true, 4. mtype : "post" 5. }).trigger("reloadGrid"); Jqgrid入门-使用模态对话框编辑表格数据(三)
1. // 配置模态对话框 2. $("#consoleDlg").dialog({ 3. autoOpen : false, // 是否自动弹出窗口 4. modal : true, // 设置为模态对话框 5. resizable : true, 6. width : 500, 7. height : 300, 8. position : "center" // 窗口显示的位置 9. }); 1. gridComplete : function() { 2. var ids = jQuery("#gridTable").jqGrid('getDataIDs'); 3. for ( var i = 0; i < ids.length; i++) { 4. var cl = ids[i]; 5. update = "<input type='button' value='修改' onclick='updateStu(" 6. + cl + ")'/> "; 7. del = "<input type='button' value='删除' onclick='deleteStu(" 8. + cl + ")'/> "; 9. view = "<input type='button' value='查看' onclick='viewStu(" 10.+ cl + ")'/>"; 11.jQuery("#gridTable").jqGrid('setRowData', 12.ids[i], { 13.process : update + del + view 14.}); 15.} 16.},
1. /** 2. * 弹出新增学生对话框 3. */ 4. function addStu() { 5. var consoleDlg = $("#consoleDlg"); 6. consoleDlg.html(""); 7. var a1 = " <iframe src='studentProcess.jsp?op=add'"+ "style='width: 100%;height: 100%' scrolling='auto' frameborder='0'></iframe>"; 8. consoleDlg.append(a1); 9. consoleDlg.dialog("option", "title", "新增学生信息").dialog("open"); 10.}; 1. function addStu() { // 序列化表单 2. var obj2 = $("#myform").serializeArray(); 3. $.ajax({ url : "QueryActionUrl_addStu.action", 4. data : obj2, 5. dataType : "json", 6. cache : false, 7. type : "post", 8. error : function(textStatus, errorThrown) { 9. window.parent.hiAlert("系统ajax交互错误"); }, 10.success : function(data, textStatus) { 11.if (data.messageBean.code == "200") { 12.hiAlert(data.messageBean.msg, "提示", function() { 13.window.parent.$("#consoleDlg").dialog("close"); // 刷新表格 14.window.parent.$("#gridTable").jqGrid("setGridParam", { 15.search : true, mtype : "post" }).trigger("reloadGrid", [ { 16.page : 1 } 17.]); 18.}); 19.} else { 20.hiAlert(data.messageBean.msg, "提示", function() { 21.window.parent.$("#consoleDlg").dialog("close"); }); 22.} 23.} 24.}); 25.}
1. /** 2. * 弹出修改学生的对话框 3. */ 4. function updateStu(selectedRowId) { 5. var consoleDlg = $("#consoleDlg"); 6. consoleDlg.html(""); 7. var str = $("#gridTable").jqGrid("getRowData", selectedRowId); // 根据行ID,获取选中行的数据 8. id = { 9. id : str.id 10.}; 11.var a1 = " <iframe src='studentProcess.jsp?op=update&id=" 12.+ JSON.stringify(id) 13.+ "' style='width: 100%;height: 100%' scrolling='auto' frameborder='0'></iframe>"; 14.consoleDlg.append(a1); 15.consoleDlg.dialog("option", "title", "修改学生信息").dialog("open"); 16.}; 1. function updateStu() { 2. var obj2 = $("#myform").serializeArray(); 3. $.ajax({ 4. url : "QueryActionUrl_updateStu.action", 5. data : obj2, 6. dataType : "json", 7. cache : false, 8. type : "post", 9. error : function(textStatus, errorThrown) { 10.window.parent.hiAlert("系统ajax交互错误"); 11.}, 12.success : function(data, textStatus) { 13.if (data.messageBean.code == "200") { 14.hiAlert(data.messageBean.msg, "提示", function() { 15.window.parent.$("#consoleDlg").dialog("close"); 16.// 刷新表格 17.window.parent.$("#gridTable").jqGrid("setGridParam", { 18.search : true, 19.mtype : "post" 20.}).trigger("reloadGrid", [ { 21.page : 1 22.} ]); 23.}); 24.} else { 25.hiAlert(data.messageBean.msg, "提示", function() { 26.window.parent.$("#consoleDlg").dialog("close"); 27.}); 28.} 29.} 30.}); 31.} 该文章在 2023/8/22 18:35:04 编辑过
|
关键字查询
相关文章
正在查询... |