View

   <script type="text/javascript">
var dd;
var grid;
$(function () {
var queryData = null;
grid = $('#grid').datagrid({ //定位到Table标签,Table标签的ID是grid
url: '@Url.Action("getUserList")', //指向后台的Action来获取当前菜单的信息的Json格式的数据
title: '用户菜单',
iconCls: 'icon-view',
height: ,
width: function () { return document.body.clientWidth * 0.9 },
nowrap: true,
autoRowHeight: false,
striped: true,
collapsible: true,
pagination: true, //分页插件置为true
pageSize: , //每页显示几条数据
pageNumber: , //页索引
rownumbers: true,
sortOrder: 'asc',
remoteSort: false,
idField: 'U_ID',
columns: [[
{ field: 'ck', checkbox: true }, //选择
{title: '用户名', field: 'U_Name', width: },
{ title: '角色名称', field: 'R_Name', width: },
]],
toolbar: [{
id: 'btnAdd',
text: '添加',
iconCls: 'icon-add',
handler: function () {
ShowAddDialog(); //实现添加记录的页面
}
}, '-', {
id: 'btnEdit',
text: '编辑',
iconCls: 'icon-edit',
handler: function () {
var selected = grid.datagrid("getSelected");
if (selected) {
var userID = selected.U_ID;
ShowEditOrViewDialog(userID); //实现修改记录的方法
} else {
$.messager.alert("友情提示", "请选择");
}
}
}, '-', {
id: 'btnDelete',
text: '删除',
iconCls: 'icon-remove',
handler: function () {
Delete(); //实现直接删除数据的方法
}
},
'-', {
id: 'btnReload',
text: '刷新',
iconCls: 'icon-reload',
handler: function () {
//实现刷新栏目中的数据
$("#grid").datagrid("reload");
}
}],
onDblClickRow: function (rowIndex, rowData) {
$('#grid').datagrid('uncheckAll');
$('#grid').datagrid('checkRow', rowIndex);
ShowEditOrViewDialog(rowData.D_id);
}
})
</script>

Controller:

 /// <summary>
/// 获取用户列表
/// </summary>
public ActionResult getUserList()
{
//判断参数不为空
if (string.IsNullOrEmpty(Request.Params["page"]))
{
return null;
}
//获取前台参数数组值
var page = Request.Params["page"];
var pageSize = Request.Params["rows"];
var pageIndex = int.Parse(page) - ;
using (UserService.UserContractClient client = new UserService.UserContractClient())
{
int size = Convert.ToInt32(pageSize);
int index = Convert.ToInt32(pageIndex); RoleService.RoleContractClient role = new RoleService.RoleContractClient();
List<Role> rolelist = role.GetList().ToList();
//管理员全部显示 其他角色显示部分
var adminuser = (User)Session["adminuser"];
var rid = adminuser.U_RoleID;
var uid = adminuser.U_ID;
string rname = role.GetRole(rid.ToString()).R_Name;
if (rname.Contains("管理员"))
{
List<User> userlist = client.GetList().OrderByDescending(s => s.U_ID).ToList();
//获取符合条件的用户总条数
int totalCount = userlist.Count();
var query = from b in rolelist
from c in userlist
where c.U_RoleID == b.R_ID
select new { c.U_ID, c.U_Name, b.R_Name };
//分页
query = query.Skip(size * (index)).Take(size);
var jsonResult = new { total = totalCount, rows = query };
return Json(jsonResult, JsonRequestBehavior.AllowGet);
}
else
{
List<User> userlist = client.GetListOrderBy(uid).OrderByDescending(s => s.U_ID).Skip(size * (index)).Take(size).ToList();
//获取符合条件的所有记录条数
int totalCount = userlist.Count();
var query = from b in rolelist
from c in userlist
where c.U_RoleID == b.R_ID
select new { c.U_ID, c.U_Name, b.R_Name };
var jsonResult = new { total = totalCount, rows = query };
return Json(jsonResult, JsonRequestBehavior.AllowGet);
}
}
}

Controller

easyui 分页 MVC的更多相关文章

  1. 前端基于easyui的mvc扩展(续)

    前端基于easyui的mvc扩展(续) 回顾及遗留问题 上一篇讲解了基于easyui的mvc扩展的基本实现,已经降低了在mvc内使用easyui的难度,但是仍然还有一些问题: 当我们要给生成的控件设置 ...

  2. 【技巧】EasyUI分页组件pagination显示项控制

    我们使用easyui分页时,分页组件显示项有很多,默认如下是这样的: 有时候我们并不想显示这么多控制项,我们可以通过属性来控制:如下来自EasyUI官网: 如下写法,在datagrid中使用,如下控制 ...

  3. easyui分页的使用方法

    使用: $("#tt").datagrid("getPager").pagination(option); 例子: $("#tb").dat ...

  4. MVC 使用Jquery EasyUI分页成功

    先上图吧

  5. jquery easyui datagrid mvc server端分页排序筛选的实现

    1自定义一个ModelBinder public class filterRule { public string field { get; set; } public string op { get ...

  6. EasyUI + Spring MVC + hibernate实现增删改查导入导出

    (这是一个故事--) 前言 作为一个JAVA开发工程师,我觉得最基本是需要懂前端.后台以及数据库. 练习的内容很基础,包括:基本增删改查.模糊查询.分页查询.树菜单.上传下载.tab页 主管发我一个已 ...

  7. easyui 分页实现

    1.用datagrid 做分页显示, 依据API样例,最终解决.废话不说,datagrid分页 有一个附加的分页控件 通过在datagrid中设置pagination:true 就会显示分页 当请求是 ...

  8. 后台使用oracle前台使用easyui分页机制

    前台easyui 的datagrid中设置分页属性: pagination:true,//显示分页 pagePosition:'bottom',//分页栏位置 both 上下 bottom.top p ...

  9. easyUI分页实现加搜索功能

    前台页面: js代码: ps:pagination为true时会在table下面加上easyUI的分页. load函数会将查询值传给datagrid并传给后台重新加载. DAO.xml为: 后台代码实 ...

随机推荐

  1. 【python】类(资料+疑惑)

    1.http://python-china.org/t/77 有关method binding的理解 2.[Python] dir() 与 __dict__,__slots__ 的区别 3.Descr ...

  2. 可以改变this指向的方法

    this一般指向的是当前被调用者,但也可以通过其它方式来改变它的指向,下面将介绍三种方式: 1.call用作继承时: function Parent(age){ this.name=['mike',' ...

  3. 网络编程之getaddrinfo

    IPv4中使用gethostbyname()函数完成主机名到地址解析,但是该API不允许调用者指定所需地址类型的任何信息,返回的结构只包含 了用于存储IPv4地址的空间.为了解决该问题,IPv6中引入 ...

  4. Keywords Search(hdu 2222)

    题意:给出n个单词,一篇文章,询问有几个单词在文章中出现过. /* AC自动机的裸题. 题目标号牛的一比. */ #include<cstdio> #include<cstring& ...

  5. [转] CC 命令

    1.最基本的操作cleartool co -nc xxx.cppcleartool ci -nc xxx.cpp 2.查看自己总共co了多少文件cleartool lscheckout -cview ...

  6. sql server 对象资源管理器(二)

    SQL会缓存大量的数据页面,他还会缓存很多其他信息,包括存储过程的执行计划 ,特定用户的安全上下文等 如果这些信息没有在数据库中缓存,SQL都要重新计算一遍,花额外的时间,所以SQLSERVER对内存 ...

  7. CSS3颜色渐变模式

       1.线性渐变:linear-gradient 语法:<linear-gradient> = linear-gradient([ [ <angle> | to <si ...

  8. Forward-backward梯度求导(tensorflow word2vec实例)

    考虑不可分的例子         通过使用basis functions 使得不可分的线性模型变成可分的非线性模型 最常用的就是写出一个目标函数 并且使用梯度下降法 来计算     梯度的下降法的梯度 ...

  9. 【转载】Linux常用命令列表

    原文地址:http://www.cnblogs.com/Javame/p/3968343.html 1 目录与文件操作 1.1 ls(初级) 使用权限:所有人 功能 : 显示指定工作目录下之内容(列出 ...

  10. Visual Studio 插件的开发(转)

    起因 在做项目的时候,经常需要根据表结构create一些实体类,写多了,实在是觉得无趣,于是就琢磨着做个代码生成工具.当然现在有很多现成的,拿来用就好,可是总想自己弄个出来玩玩,一来是当初用DataS ...