转 -- MVC+EF easyui dataGrid 动态加载分页表格
首先上javascript的代码

<script type="text/javascript"> $(function () { LoadGrid(); }) //加载表格!!! function LoadGrid() { $('#roleGrid').datagrid({ width: 900, striped: true, //交替条纹 fitColumns: true, //防止水平滚动 fit: true,//自动补全 iconCls: "icon-save",//图标 idField: 'RoleId', //唯一列 url: "GetRoles", dataType: "json", singleSelect: true, //设置为true将只允许选择一行 loadMsg: '正在拼命加载,请稍后...', rownumbers: false, //显示行数 pagination: true, //底部分页工具栏 nowrap: true, //截取超出部分的数据 checkOnSelect: true,//点击一行的时候 checkbox checked(选择)/unchecked(取消选择) pageNumber: 1,//初始化分页码。 pageSize: 10, //初始化每页记录数。 pageList: [5, 10, 30], //初始化每页记录数列表 showFooter: false, //定义是否显示行底 columns: [[ { field: "RoleId", title: "角色编号", width: 60, align: "center", sortable: "true" }, { field: "RoleName", title: "角色名称", width: 100, align: "center" }, { field: "RoleRemarks", title: "备注", width: 100, align: "center" }, { field: "IsStatus", title: "状态", width: 60, align: "center", formatter: function (value, row, index) { if (value == "0") { return "正常"; } else if (value == "1") { return "停用"; } } }, { field: "edit", title: "操作", align: "center", width: 80, formatter: function (value, row, index) { var detail = '<a style="padding:1px;color:black;" onclick="editRole(' + index + ')"><i class="fa fa-edit"></i>编辑</a>'; var deleteBtn = '<a style="color:black;" onclick="delRole(' + index + ')"><i class="fa fa-trash-o"></i>删除</>'; var setrole = '<a style="color:black;" onclick="setRights(' + index + ')"><i class="fa fa-exclamation-triangle"></i>设置权限</>'; return " " + detail + " | " + deleteBtn + " | " + setrole; } } ]] //列 }); }; function editRole(i) { //编辑按钮的方法 var rows = $("#roleGrid").datagrid("getRows"); layer.open({ title: false, type: 2, closeBtn: false, area: ['420px', '418px'], skin: 'layui-layer-rim', //加上边框 content: ['/Admin/ShowForm/EidtRole', 'no'], success: function (layero, index) { var body = layer.getChildFrame('body', index); body.contents().find("#roleId").val(rows[i].RoleId); body.contents().find("#roleName").val(rows[i].RoleName); if (rows[i].RoleRemarks != "-") { body.contents().find("#remarks").val(rows[i].RoleRemarks); } body.contents().find("#isstutas").val(rows[i].IsStatus); } }); } function delRole(i) { //删除用户 var rows = $("#roleGrid").datagrid("getRows"); var postData = { roleId: rows[i].RoleId }; layer.confirm('确认删除该角色?', { btn: ['确认', '取消'], //按钮 shade: false //不显示遮罩 }, function (index) { $.ajax({ type: "POST", url: "DeleRole", data: postData, success: function (result) { if (result == "true") { layer.msg("操作成功!", { icon: 6, time: 1000, }, function () { $("#roleGrid").datagrid("reload"); layer.close(index); }); } else if (result == "false") { layer.msg("操作失败!", { icon: 2 }); } else if (result == "msg") { layer.msg("系统错误,请联系管理员!", { icon: 0 }); } } }); }, function (index) { layer.close(index); }); }

然后是html
<table id="roleGrid"> </table>
最后是控制器的方法(这一部分是最重要的,表格能否显示数据,全看这一部分)

/// <summary> /// 动态生成表格的数据 /// </summary> /// <param name="page"></param> /// <param name="rows"></param> /// <returns></returns> public JsonResult GetRoles(int? page, int? rows) { page = page == null ? 1 : page; //第几页 rows = rows == null ? 1 : rows; //行数 List<role> rList = rService.GetAllRoles(Convert.ToInt32(page), Convert.ToInt32(rows)); List<role> roleList = new List<role>(); for (int i = 0; i < rList.Count; i++) { role r = new role(); r.RoleId = rList[i].RoleId; r.RoleName = rList[i].RoleName; if (string.IsNullOrEmpty(rList[i].RoleRemarks)) { r.RoleRemarks = "-"; } else { r.RoleRemarks = rList[i].RoleRemarks; } r.IsStatus = rList[i].IsStatus; roleList.Add(r); } var json = new { total = rService.GetTotal(), rows = roleList }; return Json(json, JsonRequestBehavior.AllowGet); }

最后的最后是控制器相关的方法

/// <summary> /// 分页的数据 /// </summary> /// <param name="page"></param> /// <param name="rows"></param> /// <returns></returns> public List<role> GetAllRoles(int page, int rows) { using (diamondEntities entity = new diamondEntities()) { IQueryable<role> role = entity.roles.OrderBy(a => a.RoleId).Skip((page - 1) * rows).Take(rows); List<role> roleList = role.ToList<role>(); if (roleList.Count > 0) { return roleList; } else { return null; } } } /// <summary> /// 获取总页数 /// </summary> /// <returns></returns> public int GetTotal() { using (diamondEntities entity = new diamondEntities()) { IQueryable<role> user = entity.roles.Select(m => m); List<role> userList = user.ToList(); return userList.Count; } }

转 -- MVC+EF easyui dataGrid 动态加载分页表格的更多相关文章
- 【第一篇】说说MVC+EF easyui dataGrid 动态加载分页表格
首先上javascript的代码 <script type="text/javascript"> $(function () { LoadGrid(); }) //加载 ...
- EasyUI datagrid动态加载json数据
最近做一个项目,要求是两张张表可能查找出10多种不同的结果集. 如果想只用一个表格就把全部的结果不同的显示出来那么就肯定不同使用固定的字段名字,要通过动态加载后台返回来的数据把它显示出来就必须动态加载 ...
- jquery easyui datagrid 动态 加载列
实现方式: 首先根据输入的sql语句获得相关的列名称返回给前台,然后在datagrid中动态加载列,接着根据查询条件(包括sql语句)获取相关的记录返回给前台用于填充datagrid.从而实现类似or ...
- easyui datagrid 动态加载数据 渲染问题,表格错位问题
$('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',width:100}, {fie ...
- EasyUI datagrid 动态加载表头和数据
首先返回到页面的需要是JSON数据: 第一步: 遍历表头,插入到array中 for (var i = 0; i < jsonObj.title.length; i++) { //把返回的数据封 ...
- 在MVC应用程序中动态加载PartialView
原文:在MVC应用程序中动态加载PartialView 有时候,我们不太想把PartialView直接Render在Html上,而是使用jQuery来动态加载,或是某一个事件来加载.为了演示与做好这个 ...
- easyui datagrid 异步加载数据时滚动条有时会自动滚到最底部的问题
在使用easyui 的datagrid异步加载数据时发现滚动条有时会自动滚到最底部.经测试发现,如果加载数据前没有选中行则不会出现这个问题.这样我们可以在重新异步加载数据前取消选中行就可以避免这个问题 ...
- 【第十一篇】这一篇来说说MVC+EF+easyui datagrid的查询功能
老规矩 直接上代码 <form class="form-horizontal"> <div class="box-body"> < ...
- EasyUI datagrid easyui datagrid +dialog 加载 可直接运行 七
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <meta ht ...
随机推荐
- bootstrap 模态框关闭状态怎么获取
比如现在有个场景,一个事件 需要在模态框关闭之后再执行自己的逻辑,先上图: 参考官网说明:http://v3.bootcss.com/javascript/#modals-events //每次关闭模 ...
- [DEncrypt] HashEncode--哈希加密帮助类 (转载)
点击下载 HashEncode.zip 这个类是关于加密,解密的操作,文件的一些高级操作1.HashEncode 得到随机哈希加密字符串2.HashEncode 得到一个随机数值3.HashEncod ...
- NPOI的使用
简介:NPOI是POI(APATCH的一个开源项目)项目的.NET版本,最初的POI只用于JAVA来操作EXCEL or WORD等微软OLE2组件项目.使用NPOI可以完成在你没有安装Office或 ...
- iOS截屏代码
转载自:http://m.open-open.com/m/code/view/1420469506375 1.普通界面 /** *截图功能 */ -(void)screenShot{ UIGraphi ...
- JavaScript 标准对象
在JavaScript的世界里,一切都是对象. 但是某些对象还是和其他对象不太一样.为了区分对象的类型,我们用typeof操作符获取对象的类型,它总是返回一个字符串: typeof 123; // ' ...
- ACM hdu 1019 Least Common Multiple
Problem Description The least common multiple (LCM) of a set of positive integers is the smallest po ...
- hibernate中一对多 多对多 inverse cascade
----------------------------一对多------------------------------------------- inverse属性:是在维护关联关系的时候起作用的 ...
- USACO 2.2 Subset Sums 集合(subset)
Description 对于从1到N的连续整集合,能划分成两个子集合,且保证每个集合的数字和是相等的.举个例子,如果N=3,对于{1,2,3}能划分成两个子集合,他们每个的所有数字和是相等的: {3} ...
- supervisor进程管理
install : apt-get install supervisor crete a xxxx.conf file at /etc/supervisor/conf.d the cont ...
- 【微机】验证负数以补码存储程序 C语言
微机中验证负数以补码存储程序 一.相关基础知识 负数的补码等于它的反码加1,即在其反码的最低位加1就为该数的补码,且在计算机中负数以补码形式进行存储. .int型占4字节(32位二进制)char型占1 ...