jqGrid使用笔记.
来源:互联网 发布:python socket编程tcp 编辑:程序博客网 时间:2024/06/04 23:30
一.基本使用:
1)放置表格和分页的html。
<table id="search_member_table"> </table> <div id="pager1"></div>2) 在页面加载完成后,调用绑定jqGrid表格代码.
function BindGrid(requestUrl) { $("#search_member_table").jqGrid({ url: requestUrl, datatype: "json", cache: false, mtype: "GET", colNames: ["GMPI", "Last Name", "First Name", "MI", "Birth Date", "MemberID", "Market", "Eligible", "MemberId"], colModel: [ { name: 'GMPI', index: "GMPI" }, { name: 'LastName', index: "LastName" }, { name: 'FirstName', index: "FirstName" }, { name: 'MiddleName', index: "MiddleName", align: "center" }, { name: 'Birthdate', index: "Birthdate", datefmt: 'MM/dd/yyyy', align: "center" }, { name: 'MemberEligibility.MemberInsuranceCompany.CompanyId', index: "MemberEligibility.MemberInsuranceCompany.CompanyId" }, { name: 'Market.Market', index: "Market.Market" }, { name: 'MemberEligibility.IsEligibility', index: "MemberEligibility.IsEligibility", formatter: customFmatter, align: "center" }, { name: "MemberId", index: "MemberId", hidden: true } ], rowNum: 10, autowidth: true, height: "100%", rowList: [5, 10, 25, 50, 100, 9999], pager: jQuery('#pager1'), sortname: "DateUsed", //default primary key id sortorder: "desc", loadonce: false, viewrecords: true, //default false,number of pages and records are hidden, set true to show jsonReader: { root: "Records", //Get json array data's root property page: "PageIndex", //current page total: "PageCount", //total page count records: "RecordCount", //total records count repeatitems: false, //if format like rows : [ [id:"1", cell:["cell11", "cell12", "cell13"]],...],need set true cell: "", //defualt "cell",key:value's format set "" id: "MemberEligibility.EligibilityId"//primary key } }).navGrid('#pager1', { edit: false, add: false, del: false }); }
3)colModel中格式表格数据显示的值.
a.内置时间格式转换: datefmt: 'MM/dd/yyyy'
b.formatter属性设置一个自定义函数转换:
function customFmatter(cellvalue, options, rowObject){ return cellvalue == true ? "Y" : "N"; }
二:高级篇:
1).行点击事件,onSelectRow放置在$("#search_member_table").jqGrid({});属性中。
要点:
a. 获取行对象$("#search_member_table").jqGrid("getRowData", id);
b.获取行对象的值,对象嵌套的话,用数组形式作为索引:jsonObj["MemberEligibility.MemberInsuranceCompany.CompanyId"] };
onSelectRow: function (id) { var jsonObj = $("#search_member_table").jqGrid("getRowData", id); if (jsonObj != null) { var postdatas = { "mbrEligKey": id, "GMPI": jsonObj.GMPI, "LastName": jsonObj.LastName, "FirstName": jsonObj.FirstName, "MiddleName": jsonObj.MiddleName, "MemberId": jsonObj.MemberId, "Birthdate": jsonObj.Birthdate, "InsuranceCompanyId": jsonObj["MemberEligibility.MemberInsuranceCompany.CompanyId"] }; SaveSelectedMember(postdatas); } },
2) 行中设置某一列,点击事件;添加 编辑、删除等操作列 ,在gridComplete对象中设置:
//bind Role function BindNewsGrid(requestUrl) { $("#tbl_grid").jqGrid({ url: requestUrl, datatype: "json", mtype: "GET", colNames: ["RoleId", "Role Name", "Role Desc", "Role Code", "Delete", "Edit", "Assign Menu"], colModel: [ { name: 'RoleId', index: "RoleId", width: 50, hidden: true }, { name: 'RoleName', index: "RoleName" }, { name: 'RoleDesc', index: "RoleDesc", width: 250 }, { name: 'RoleCode', index: "RoleCode" }, { name: 'Delete', index: 'RoleId', align: 'center', sortable: false, width: 60 }, { name: 'Edit', index: 'RoleId', align: "center", sortable: false, width: 60 }, { name: "AssignMenu", index: "AssignMenu", align: "center", width: 60 }, ], gridComplete: function () { var ids = jQuery("#tbl_grid").jqGrid('getDataIDs'); for (var i = 0; i < ids.length; i++) { var id = ids[i]; var del = "<img src='/Images/icon_news_del.png' onclick='deleteRole(" + id + ")' style='cursor:pointer' title='' /> "; var edit = "<img src='/Images/icon_news_edit.png' onclick='editRole(" + id + ")' style='cursor:pointer' title='' /> "; var assignMenu = "<img src='/Images/icon_roleedit.png' onclick='assignMenu(\"" + id + "\")' style='cursor:pointer' title='' /> "; //don't allow assign when med info role. var jsonObj = $("#tbl_grid").jqGrid("getRowData", id); if (jsonObj != null && jsonObj.RoleCode == "MI") { assignMenu = ""; } $("#tbl_grid").jqGrid('setRowData', ids[i], { Delete: del, Edit: edit, AssignMenu: assignMenu }); } }, rowNum: 20, height: "100%", width: "975", rowList: [5, 10, 15, 20], pager: jQuery('#pager1'), sortname: "RoleId", //default primary key id loadonce: false, viewrecords: true, //default false,number of pages and records are hidden, set true to show jsonReader: { root: "Records", //Get json array data's root property page: "PageIndex", //current page total: "PageCount", //total page count records: "RecordCount", //total records count repeatitems: false, //if format like rows : [ [id:"1", cell:["cell11", "cell12", "cell13"]],...],need set true cell: "", //defualt "cell",key:value's format set "" id: "RoleId"//primary key } }).navGrid('#pager1', { edit: false, add: false, del: false }); } function deleteRole(id) { if (!confirm("Are you sure to delete?")) { return; } $.ajax({ url: '@Url.Action("DeleteRoleById")/?RoleId=' + id, success: function () { reloadGrid(); } }); } function editRole(id) { ShowAddEdit(); $("#divAddEdit").html("<img src='/images/loading_circle.gif' />"); $("#divAddEdit").load("/Admin/UpdateRole?RoleId=" + id + "&refresh=" + new Date().getTime() + ""); }
3)刷新grid数据:
function reloadGrid() { var reqURL = "/Admin/GetRoleList"; jQuery("#tbl_grid").jqGrid('setGridParam', { url: reqURL }).trigger("reloadGrid"); }
- jqGrid使用笔记.
- jqGrid 使用笔记
- JQgrid使用
- JQgrid使用
- JQgrid使用
- JQgrid使用
- jqGrid使用
- jqgrid使用
- jqGrid使用
- jqgrid使用
- jqGrid使用
- jqGrid 问题笔记
- jqgrid 简单学习笔记
- jqGrid笔记-1-概况
- jqgrid学习笔记
- jqGrid 问题笔记
- jqgrid学习笔记
- jqGrid学习笔记
- UICC, CSIM, RUIM, UIM, USIM, SIM
- 网站原创文章为什么不被百度搜录的几种猜想
- Flyweight
- 软件架构的风险消除策略
- ios 限制只能输入字母和数字
- jqGrid使用笔记.
- JQuery的学习:DOM操作
- Android学习------------xml布局文件
- 电阻的功率与封装
- abstract与static与native与synchronized比较
- 示例-软件构架文档
- ERP基本原理,ERP的基本概念,ERP常用计算公式
- 为什么在mac下执行切换root 前面需要这样:sudo su -
- tt