jQuery EasyUI是一个轻量级的Web前端开发框架,提供了很多的现成组件帮助程序员减轻前端代码开发量,之前有个项目中就用到了其中的DataGrid。
jQuery EasyUI框架的官方主页,可以下载完整开发包,里面有示例代码可以参考。
运行效果图:
由于我使用的是ASP.NET webform技术,下面我就贴出主要的代码以供参考。
在页面中首先要引用相关的css以及js文件,这样才能使用该组件。
css部分:
<link href="../Js/jQueryEasyUI/theme/default/easyui.css" rel="stylesheet" type="text/css" /> <link href="../Js/jQueryEasyUI/theme/icon.css" rel="stylesheet" type="text/css" /> <link rel="stylesheet" type="text/css" href="../Css/datagrid.css" />
js部分:
<script src="/UploadFiles/2021-04-02/jquery-1.7.1.min.js">由于jQuery EasyUI基于jQuery,所以必需要先引入jQuery文件。而pagination.js是EasyUI的分页插件,后面会看到分页的效果。
<script type="text/javascript"> $(function () { var qParams = { mode: 'Query', hfjia: $("#<%=hfjia.ClientID %>").val(), sfz: $("#sfz").val() }; //取得查询参数 var oldRowIndex; var opt = $("#grid"); opt.datagrid({ width: '780', height: '440', nowrap: false, striped: true, fitColumns: true, singleSelect: true, queryParams: qParams, //参数 url: '../Service/ServiceHanlder.ashx', //idField: 'id', //主索引 //frozenColumns: [[{ field: 'ck', checkbox: true}]], pageSize: 20, pageList: [20, 25, 30], pagination: true, //是否启用分页 rownumbers: true, //是否显示列数 onClickRow: function (rowIndex) { if (oldRowIndex == rowIndex) { opt.datagrid('clearSelections', oldRowIndex); } var selectRow = opt.datagrid('getSelected'); oldRowIndex = opt.datagrid('getRowIndex', selectRow); }, columns: [[ { title: "浏览档案", width: 20, align: "center", formatter: function (value, rowData, rowIndex) { return "<font onclick=searchDA('" + rowData.PersonIdNum + "'); color='blue' > 查看档案 </font>"; } }, { field: 'DAGInPosition', title: "档案位置", width: 40, align: "center" }, { field: 'PersonIdNum', title: "身份证号", width: 80, align: "center" }, { field: 'PersonName', title: "姓名", width: 40, align: "center" }, { field: 'PersonSex', title: "性别", width: 30, align: "center" }, { field: 'DAId', title: "档案编号", width: 60, align: "center" } // { field: 'DAGInOrg', title: "业务经办机构", width: 60, align: "center" } ]] }).datagrid("getPager").pagination({ beforePageText: '第', //页数文本框前显示的汉字 afterPageText: '页/{pages}页', displayMsg: '共{total}条记录', onBeforeRefresh: function () { return true; } }); }); </script>请注意这段长长的js代码,这是该页面的核心代码。里面的参数设置请注意,主要就是通过js动态的构造datagird。
该页面的Body部分:
<body> <form id="form1" runat="server"> <asp:HiddenField ID="hfjia" runat="server" /> <div> <div class="form-wrapper cf" style="margin-top: 10px;"> <div align="center" style="width: 780px;"> <input id="sfz" runat="server" type="text" placeholder="请扫描档案袋上面的条形码..." /> <button id="ssss"> 档案查询</button> </div> </div> <div style="float: left; width: 780px; margin-top: -40px; margin-left: 10px;"> <table id="grid"> </table> </div> <div style="float: left; margin-top: 10px; margin-left: 10px;"> <input type="button" value="返回主菜单" id="button1s" onclick="javascript: window.location.href = '../Main.aspx'" /> </div> </div> </form> </body>其中id为grid的table部分,与上面的js部分中grid对应。
该页面的后台代码部分:
protected void Page_Load(object sender, EventArgs e) { string dagid = Request.QueryString["dagid"]; hfjia.Value = dagid; }很简单就是给前台存放的一个隐藏域赋值,以在页面刷新时保持状态(记录档案架的位置)。
后台的数据源地址为ServiceHanlder.ashx,看看这里面的详细代码。
namespace DAMIS.Pad2.Service { /// <summary> /// ServiceHanlder 的摘要说明 /// </summary> public class ServiceHanlder : IHttpHandler { public void ProcessRequest(HttpContext context) { if (!string.IsNullOrEmpty(context.Request["mode"])) { if (context.Request["mode"].Equals("Query")) { if (!string.IsNullOrEmpty(context.Request["sfz"])) { string sfz = context.Request["sfz"]; UserInfo userInfo = GetUserInfoById(sfz); if (userInfo != null) { ReturnData rd = new ReturnData(); rd.total = 1; rd.rows = new List<UserInfo>() { userInfo }; DataContractJsonSerializer json = new DataContractJsonSerializer(rd.GetType()); json.WriteObject(context.Response.OutputStream, rd); } else { context.Response.Write("<script>alert('查无此人');</script>"); } } else { string hfjia = Regex.Match(context.Request["hfjia"].Split(';')[0], @"\d+").Value; string page = context.Request["page"]; string rows = context.Request["rows"]; QueryData(hfjia, page, rows, context); } } if (context.Request["mode"].Equals("QueryInner")) { string dajid = context.Request["dajid"].Trim('\''); string dagid = context.Request["dagid"]; string hfjia = string.Join("-", dajid, dagid); string page = context.Request["page"]; string rows = context.Request["rows"]; QueryData(hfjia, page, rows, context); } } } #region 查询档案(分页) /// <summary> /// 查询档案(分页) /// </summary> /// <param name="hfjia">架号</param> /// <param name="page">页数</param> /// <param name="rows">行数</param> /// <param name="context"></param> public void QueryData(string hfjia, string page, string rows, HttpContext context) { List<UserInfo> list = new List<UserInfo>(); string msg = string.Empty; DataTable dt = DAGCommonBLL.DAGPositionGetInformation(hfjia, out msg); foreach (DataRow dr in dt.Rows) { list.Add(new UserInfo() { PersonIdNum = dr["PersonIdNum"].ToString(), PersonName = dr["PersonName"].ToString(), PersonSex = dr["PersonSex"].ToString(), DAId = dr["DAId"].ToString(), DABusKindName = dr["DABusKindName"].ToString(), DAKindName = dr["DAKindName"].ToString(), DALevelCodeName = dr["DALevelCodeName"].ToString(), DAGInPosition = dr["DAGInPosition"].ToString(), DAGInUserId = dr["DAGInUserId"].ToString(), DAGInOrg = dr["DAGInOrg"].ToString(), IsValid = dr["IsValid"].ToString(), }); } list = list.OrderBy(x => x.DAGInPosition).ToList(); ReturnData rd = new ReturnData(); rd.total = dt.Rows.Count; rd.rows = list.Where(x => x.IsValid == "0").Skip(Convert.ToInt32(rows) * (Convert.ToInt32(page) - 1)).Take(Convert.ToInt32(rows)).ToList(); DataContractJsonSerializer json = new DataContractJsonSerializer(rd.GetType()); json.WriteObject(context.Response.OutputStream, rd); } #endregion #region 通过身份证号获取用户基本信息 /// <summary> /// 通过身份证号获取用户基本信息 /// </summary> /// <param name="id">身份证号</param> /// <returns></returns> public static UserInfo GetUserInfoById(string id) { string hfjia = CommonBLL.GetUserPositionById(id); string msg = string.Empty; if (!string.IsNullOrEmpty(hfjia)) { hfjia = hfjia.Split('-')[0] + "-" + hfjia.Split('-')[1]; DataTable dt = DAGCommonBLL.DAGPositionGetInformation(hfjia, out msg); if (dt != null && dt.Rows.Count > 0) { DataRow dr = dt.Select("personidnum = '" + id + "'").FirstOrDefault(); UserInfo userInfo = new UserInfo() { PersonIdNum = dr["PersonIdNum"].ToString(), PersonName = dr["PersonName"].ToString(), PersonSex = dr["PersonSex"].ToString(), DAId = dr["DAId"].ToString(), DABusKindName = dr["DABusKindName"].ToString(), DAKindName = dr["DAKindName"].ToString(), DALevelCodeName = dr["DALevelCodeName"].ToString(), DAGInPosition = dr["DAGInPosition"].ToString(), DAGInUserId = dr["DAGInUserId"].ToString(), DAGInOrg = dr["DAGInOrg"].ToString(), IsValid = dr["IsValid"].ToString(), }; return userInfo; } } return null; } #endregion public bool IsReusable { get { return false; } } } }这里面也没什么好说的,就是为前端页面提供数据。代码完全可以进一步精简、处理,这里就不修正了。
里面用到的一个实体类:
/// <summary> /// 分页返回数据 /// </summary> public class ReturnData { /// <summary> /// 数据总数 /// </summary> public int total { get; set; } /// <summary> /// 具体数据 /// </summary> public List<UserInfo> rows { get; set; } }以上就是jQuery EasyUI之DataGrid使用实例简单介绍,希望对大家的学习有所帮助。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。
更新日志
- 中国武警男声合唱团《辉煌之声1天路》[DTS-WAV分轨]
- 紫薇《旧曲新韵》[320K/MP3][175.29MB]
- 紫薇《旧曲新韵》[FLAC/分轨][550.18MB]
- 周深《反深代词》[先听版][320K/MP3][72.71MB]
- 李佳薇.2024-会发光的【黑籁音乐】【FLAC分轨】
- 后弦.2012-很有爱【天浩盛世】【WAV+CUE】
- 林俊吉.2012-将你惜命命【美华】【WAV+CUE】
- 晓雅《分享》DTS-WAV
- 黑鸭子2008-飞歌[首版][WAV+CUE]
- 黄乙玲1989-水泼落地难收回[日本天龙版][WAV+CUE]
- 周深《反深代词》[先听版][FLAC/分轨][310.97MB]
- 姜育恒1984《什么时候·串起又散落》台湾复刻版[WAV+CUE][1G]
- 那英《如今》引进版[WAV+CUE][1G]
- 蔡幸娟.1991-真的让我爱你吗【飞碟】【WAV+CUE】
- 群星.2024-好团圆电视剧原声带【TME】【FLAC分轨】