转 -- 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 ...
随机推荐
- 【转】char码值对应列表大全
char("56") A char("97") a [转]char码值对应列表大全 Char("0") 为0的字符Char("1& ...
- UDP,TCP理解。
UDP: 面向无连接, 每个数据大小限制在64K内 因为面向无连接,所以就是不可靠协议. 将数据和源和谜底封装到数据包当中,不需要建立连接.速度快(就像送快递一样,管你在不可以先到你门口) 用处:聊天 ...
- SVN库迁移过程总结
一.背景:老SVN是安装在32位服务器上:现在64位服务器上安装了新版本SVN服务,所以需要将SVN从老服务器上迁移到新服务器上. 1.SVN Server下载:https://www.visuals ...
- C语言malloc()函数:动态分配内存空间
头文件:#include <stdlib.h> malloc() 函数用来动态地分配内存空间(如果你不了解动态内存分配,请查看:C语言动态内存分配及变量存储类别),其原型为:void* m ...
- hibernate 对象状态异常:object references an unsaved transient instance - save the transient instance before flushing
我的问题出在,删除的对象对应的表中有一个外键,关联着另外一个表,可是另外一个表中没有数据,所以报了这个错误. 参考http://www.cnblogs.com/onlywujun/archive/20 ...
- DevExpress XtraGrid RepositoryItemCheckEdit 复选框多选的解决方法
1. RepositoryItemCheckEdit默认有三种状态,选中状态.未选中状态和半选中状态(半选中状态通常用在TreeList中如果父节点下的子节点有选中的有未选中的,则父节点状态为半选中状 ...
- html5 + css3 + zepto.js实现的微信广告宣传页
最新学习html5 + css3, 参考微信的一个推广页写出一个实例巩固自己知识,自己已经将原实例打包到自己博客文件当中,但是不知道如何提供下载,如有需要的朋友可以联系我qq309666726
- spring源码_下载以及转入eclipse (2016-11-08)
本例spring源码版本是4.3.0的, 所以jdk需要准备1.8的(不同版本源码要求的jdk不一样) 1.8版本myeclipse10无编译环境,只有运行环境,出现点问题,下载最新版本的Eclips ...
- Android 中LinearLayout控件属性
id 为控件指定相应的ID text 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符 g ...
- 从Image Caption Generation理解深度学习
0. 前面的话 建丁让我写一篇深度学习相关小文章,目标读者是国内的开发者.刚接到这个任务时我是颇为忐忑的,写文章要讲究厚积薄发,如果“水之积也不厚”,“则其负大舟也无力”.因为我自知水平很有限,又不是 ...