首先上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 "&nbsp;&nbsp;" + detail + "&nbsp;|&nbsp;" + deleteBtn + "&nbsp;|&nbsp;" + 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 ? : page; //第几页
rows = rows == null ? : rows; //行数
List<role> rList = rService.GetAllRoles(Convert.ToInt32(page), Convert.ToInt32(rows));
List<role> roleList = new List<role>();
for (int i = ; 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 - ) * rows).Take(rows);
List<role> roleList = role.ToList<role>();
if (roleList.Count > )
{
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;
}
}

持续关注我吧,最近项目紧,我还是会把碰见的东西写出来的。

---------------------------------------------------------------------------------------------------------

转载请记得说明作者和出处哦-.-
作者:KingDuDu
原文出处:https://www.cnblogs.com/kingdudu/articles/4742111.html

---------------------------------------------------------------------------------------------------------

【第一篇】说说MVC+EF easyui dataGrid 动态加载分页表格的更多相关文章

  1. 转 -- MVC+EF easyui dataGrid 动态加载分页表格

    首先上javascript的代码 <script type="text/javascript"> $(function () { LoadGrid(); }) //加载 ...

  2. EasyUI datagrid动态加载json数据

    最近做一个项目,要求是两张张表可能查找出10多种不同的结果集. 如果想只用一个表格就把全部的结果不同的显示出来那么就肯定不同使用固定的字段名字,要通过动态加载后台返回来的数据把它显示出来就必须动态加载 ...

  3. jquery easyui datagrid 动态 加载列

    实现方式: 首先根据输入的sql语句获得相关的列名称返回给前台,然后在datagrid中动态加载列,接着根据查询条件(包括sql语句)获取相关的记录返回给前台用于填充datagrid.从而实现类似or ...

  4. easyui datagrid 动态加载数据 渲染问题,表格错位问题

    $('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',width:100}, {fie ...

  5. EasyUI datagrid 动态加载表头和数据

    首先返回到页面的需要是JSON数据: 第一步: 遍历表头,插入到array中 for (var i = 0; i < jsonObj.title.length; i++) { //把返回的数据封 ...

  6. 在MVC应用程序中动态加载PartialView

    原文:在MVC应用程序中动态加载PartialView 有时候,我们不太想把PartialView直接Render在Html上,而是使用jQuery来动态加载,或是某一个事件来加载.为了演示与做好这个 ...

  7. EasyUI datagrid 数据加载

    网上找了好多人的方法发现都有问题发一个可用方便的 主要分三种情况 加载1,loaddata 加载2,datagrid 加载3, url 加载 第一部分,datagrid加载 第二部分,点击 datag ...

  8. easyui datagrid 异步加载数据时滚动条有时会自动滚到最底部的问题

    在使用easyui 的datagrid异步加载数据时发现滚动条有时会自动滚到最底部.经测试发现,如果加载数据前没有选中行则不会出现这个问题.这样我们可以在重新异步加载数据前取消选中行就可以避免这个问题 ...

  9. 第一百一十八节,JavaScript,动态加载脚本和样式

    JavaScript,动态加载脚本和样式 一动态脚本 当网站需求变大,脚本的需求也逐步变大.我们就不得不引入太多的JS脚本而降低了整站的性能,所以就出现了动态脚本的概念,在适时的时候加载相应的脚本. ...

随机推荐

  1. Sqli-labs less 20

    Less-20 从源代码中我们可以看到cookie从username中获得值后,当再次刷新时,会从cookie中读取username,然后进行查询. 登录成功后,我们修改cookie,再次刷新时,这时 ...

  2. 客户端的数据来源:QueryString, Form, Cookie Request[]与Request.Params[]

    在ASP.NET编程中,有三个比较常见的来自于客户端的数据来源:QueryString, Form, Cookie . 我们可以在HttpRequest中访问这三大对象. QueryString: 获 ...

  3. LINUX下的时间与时区的设置

    在RHEL下,如果只装英文版系统,设置好时区以后(上海时间,UTC) 在命令行下用date命令查看,总是与实际的北京时间差8小时,其实硬件时间都是准确的.会带来视觉不便. 今天下决心解决此问题,不过也 ...

  4. 线上问题 - MySQL SQL state [HY000]; error code [1366]

    一.问题描述 另外一个系统调用服务接口api:/xxx/create?aName=&time=&...,数据没有保存成功提示SQL state [HY000]; error code ...

  5. ZOJ2929 Penalty Kick(概率)

    题目挺水的,但由于其独特的阅读量比赛的时候没发现这道水题,在此做一下翻译,如果有人搜到这翻译的话有帮助的话自然最好啦. 中国队平局进入最后的点球决胜局,首先抛硬币决定谁先罚球,然后先是罚五球,如果罚的 ...

  6. iOS自定义发送消息输入框

    简单的封装了一个,免得麻烦直接初始化就可以用了 ,有其他需求该里面参数就行了 WJEasyInputTextView.h , CGRectGetHeight([UIScreen mainScreen] ...

  7. (3)初次接触off

    boss布置任务了,要读入off文件,生成能显示出来的可执行文件,完成不了就要滚蛋 目前的东西还是不用保密的,到后面我就要设密码了 好,.off文件是什么? OFF,Object File Forma ...

  8. C Primer Plus之文件输入/输出

    文件 一个文件通常就是磁盘上的一段命名的存储区.但对于操作系统来说,文件就会更复杂一些.例如,一个大文件可以存储在一些分散的区段中,或者还会包含一些使操作系统可以确定其文件类型的附加数据. C将文件看 ...

  9. 初始BOM

    1.BOM(Browser Object Model),定义了操作浏览器的借口 2.常用的BOM对象:Window, History,Navigator,Screen, Location等 3.由于浏 ...

  10. 重温《js权威指南》 第2-3章

    第二章 语法结构         2.1 js区分大小写,html不区分大小写         2.5 注意分号,如果没有分号,解释器会试图解析js,并在不能解析的地方加分号 第三章 值和变量     ...