博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Web jquery表格组件 JQGrid 的使用 - 8.Pager、新增数据、查询、刷新、查看数据
阅读量:4708 次
发布时间:2019-06-10

本文共 6521 字,大约阅读时间需要 21 分钟。

 

系列索引

 

 

目录

 

 

8.Pager、新增数据、查询、刷新、查看数据  

使用翻页pager
设置jqGrid属性:
pager: pager_selector,

 

需要一个div:

 

注意
loadonce: true,必须设置,否则翻页不可用的。
需要设置pager属性。一个pager上不只有翻页功能,还有6个已定义的按钮,当然还可以添加自定义
按钮,参考上面。定义代码如下,这样就可以进行增加,查找,刷新和查看了。
//navButtonsjQuery(grid_selector).jqGrid('navGrid', pager_selector,{ //navbar optionsedit: true,editicon: 'ui-icon-pencil blue',edittext: '编辑',add: true,addicon: 'ui-icon-circle-plus', addtext: '新增', del: true, delicon: 'ui-icon-circle-close red', deltext: '删除', search: true, searchicon: 'ui-icon-search orange', searchtext: '查找', refresh: true, refreshicon: 'ui-icon-refresh green', refreshtext: '刷新', view: true, viewicon: 'ui-icon-circle-zoomin grey', viewtext: '查看', }, { //edit record form closeAfterEdit: true, recreateForm: true, beforeShowForm: function (e) { var form = $(e[0]); form.closest('.ui-jqdialog').find('.ui-jqdialogtitlebar'). wrapInner('
') style_edit_form(form); }, afterSubmit: function (response, postdata) { if (response.responseText != "") { $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid'); alert(response.responseText); return [true, response.responseText] } } }, { //new record form closeAfterAdd: true, recreateForm: true, viewPagerButtons: false, beforeShowForm: function (e) { var form = $(e[0]); form.closest('.ui-jqdialog').find('.ui-jqdialogtitlebar'). wrapInner('
') style_edit_form(form); }, afterSubmit: function (response, postdata) { if (response.responseText != "") { $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid'); alert(response.responseText); return [true, response.responseText] } } }, { //DELETE delData: { delId: function () { var sel_id = []; sel_id = $(grid_selector).jqGrid('getGridParam', 'selarrrow'); var value = ''; for (var i = 0; i < sel_id.length; i++) { value = value + ',' + $(grid_selector).jqGrid('getCell', sel_id[i], 'UserId'); } if (value.charAt(0) == ',') { value = value.substr(1); } return value; } }, closeOnEscape: true, closeAfterDelete: true, reloadAfterSubmit: true, closeOnEscape: true, drag: true, afterSubmit: function (response, postdata) { if (response.responseText != "") { alert(response.responseText); return [true, response.responseText] } } { //search form closeOnEscape: true, closeAfterSearch: true, reloadAfterSubmit: true, recreateForm: true, afterShowSearch: function (e) { var form = $(e[0]); form.closest('.ui-jqdialog').find('.ui-jqdialogtitle'). wrap('
') style_search_form(form); }, afterRedraw: function () { style_search_filters($(this)); }, afterSubmit: function (response, postdata) { if (response.responseText == "") { $(grid_selector).trigger("reloadGrid", [{ current: true }]); return [false, response.responseText] } else { $(this).jqGrid('setGridParam', { datatype: 'json' }).trigger('reloadGrid') return [true, response.responseText] } }, multipleSearch: true }, { //view record form recreateForm: true, beforeShowForm: function (e) { var form = $(e[0]); form.closest('.ui-jqdialog').find('.ui-jqdialogtitle'). wrap('
') } } )

 

增加数据
if (strOperation == "add"){if (CheckUserExist(user.UserCode, "")){strResponse = "用户名重复,请确认!";}else{strResponse = AddUser(user) ? "用户添加成功!" : "用户添加失败,请确认!";}}context.Response.Write(strResponse);private bool AddUser(User objuser) { bool flag = false; string cmdText = "INSERT INTO T_User (UserCode,Password) VALUES ('" + objuser.UserCode + "','" + objuser.Password + "')"; try { SQLHelper sqlhelper = new SQLHelper(); flag = sqlhelper.AddDelUpdate(cmdText) > 0; } catch (Exception ex) { throw ex; } return flag; }
 
查看、刷新
无需代码。刷新等于重新加载一次。
 
查询
一般无需代码,当然可以自己写,或者遇到问题查询失效时。
//查找if (context.Request.Params.Get("_search") == "true"){string sfilters = context.Request.Params.Get("filters");context.Response.Write(GetJson(SearchUsersDT(sfilters)));return;}/// /// 根据jqgrid的查询操作符和字段拼接sql语句/// /// jqgrid的查询操作符/// 
sql wehere语句
/// 查询字段名称private string GetSQLOperater(string op, string field){string s = string.Empty;switch (op) { case "eq": return field + " = @" + field;//等于 case "ne": return field + " <> @" + field;//不等于 case "bw": return field + " like @" + field + "'%'"; //开始于 case "bn": return field + " not like @" + field + "'%'"; //不开始于 case "ew": return field + " like '%' + @" + field; //结束于 case "en": return field + " not like '%' + @" + field; //不结束于 case "cn": return field + " like + '%' + " + field + "'%'"; //包含 case "nc": return field + " not like + '%' + @" + field + "'%'"; //不包 含 case "nu": return "(" + field + " = '' or is null)"; //空值 case "nn": return "(" + field + " <> '' or is not null)"; //非空值 case "in": return ""; //属于 case "ni": return ""; //不属于 default: return ""; } } private DataTable SearchUsersDT(string filters) { string jsonRes = string.Empty; System.Runtime.Serialization.Json.DataContractJsonSerializer json = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(GridSearch)); using (MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(filters))) { GridSearch gridSearch = (GridSearch)json.ReadObject(stream); string groupOp = gridSearch.groupOp; List
Rules = gridSearch.rules; string sql = "select UserId, UserCode, Password FROM T_User"; MySqlParameter[] paras = new MySqlParameter[Rules.Count]; bool bFirst = true; for (int i = 0; i < Rules.Count; i++) { GridSearchRules r = Rules[i]; string field = r.field; string op = r.op; string data = r.data; sql = bFirst ? sql + " where " + GetSQLOperater(op, field) : sql + groupOp + GetSQLOperater(op, field); paras[i] = new MySqlParameter("@" + field, data); } SQLHelper sqlhelper = new SQLHelper(); DataTable dt = sqlhelper.Selectinfo(sql); return dt; } }

 

属于和不属于没试出来是什么操作,直接无视。可以在grid.locale-cn.js文件里找到对应的,删除
后保存即可,其他不需要的查询关系都可以这样。
 
排序
有时也会遇到不能排序的情况。下面就单列排序提供例子,多列暂不考虑。
Oper=null时不一定是第一次加载还有可能是排序。
//排序if (context.Request.Params.Get("sidx") != null &&!string.IsNullOrEmpty(context.Request.Params.Get("sidx").ToString()) &&context.Request.Params.Get("sord") != null &&!string.IsNullOrEmpty(context.Request.Params.Get("sord").ToString())){context.Response.Write(GetJson(GetUserDTSorted(context.Request.Params.Get("sidx").ToString(), context.Request.Params.Get("sord").ToString())));return;}private DataTable GetUserDTSorted(string field, string oper) { string cmdText = "SELECT UserId, UserCode, UserName, Password, RoleId, CreateBy, CreateTime FROM T_User order by " + field + " " + oper; SQLHelper sqlhelper = new SQLHelper(); DataTable dt = sqlhelper.Selectinfo(cmdText); return dt; }
 

转载于:https://www.cnblogs.com/jhlong/p/5627790.html

你可能感兴趣的文章
我的第一篇博客
查看>>
【C++算法与数据结构学习笔记------单链表实现多项式】
查看>>
C#垃圾回收机制
查看>>
31、任务三十一——表单联动
查看>>
python之hasattr、getattr和setattr函数
查看>>
maven使用阿里镜像配置文件
查看>>
Copy code from eclipse to word, save syntax.
查看>>
arguments.callee的作用及替换方案
查看>>
Centos 6.5下的OPENJDK卸载和SUN的JDK安装、环境变量配置
查看>>
【.Net基础03】HttpWebRequest模拟浏览器登陆
查看>>
zTree async 动态参数处理
查看>>
Oracle学习之常见错误整理
查看>>
数据库插入数据乱码问题
查看>>
【转】IT名企面试:微软笔试题(1)
查看>>
IO流入门-第十章-DataInputStream_DataOutputStream
查看>>
DRF的分页
查看>>
Mysql 模糊匹配(字符串str中是否包含子字符串substr)
查看>>
python:open/文件操作
查看>>
流程控制 Day06
查看>>
Linux下安装Tomcat
查看>>