easyui 分页 MVC
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的更多相关文章
- 前端基于easyui的mvc扩展(续)
前端基于easyui的mvc扩展(续) 回顾及遗留问题 上一篇讲解了基于easyui的mvc扩展的基本实现,已经降低了在mvc内使用easyui的难度,但是仍然还有一些问题: 当我们要给生成的控件设置 ...
- 【技巧】EasyUI分页组件pagination显示项控制
我们使用easyui分页时,分页组件显示项有很多,默认如下是这样的: 有时候我们并不想显示这么多控制项,我们可以通过属性来控制:如下来自EasyUI官网: 如下写法,在datagrid中使用,如下控制 ...
- easyui分页的使用方法
使用: $("#tt").datagrid("getPager").pagination(option); 例子: $("#tb").dat ...
- MVC 使用Jquery EasyUI分页成功
先上图吧
- jquery easyui datagrid mvc server端分页排序筛选的实现
1自定义一个ModelBinder public class filterRule { public string field { get; set; } public string op { get ...
- EasyUI + Spring MVC + hibernate实现增删改查导入导出
(这是一个故事--) 前言 作为一个JAVA开发工程师,我觉得最基本是需要懂前端.后台以及数据库. 练习的内容很基础,包括:基本增删改查.模糊查询.分页查询.树菜单.上传下载.tab页 主管发我一个已 ...
- easyui 分页实现
1.用datagrid 做分页显示, 依据API样例,最终解决.废话不说,datagrid分页 有一个附加的分页控件 通过在datagrid中设置pagination:true 就会显示分页 当请求是 ...
- 后台使用oracle前台使用easyui分页机制
前台easyui 的datagrid中设置分页属性: pagination:true,//显示分页 pagePosition:'bottom',//分页栏位置 both 上下 bottom.top p ...
- easyUI分页实现加搜索功能
前台页面: js代码: ps:pagination为true时会在table下面加上easyUI的分页. load函数会将查询值传给datagrid并传给后台重新加载. DAO.xml为: 后台代码实 ...
随机推荐
- C++ explicit关键字详解
本文系转载,原文链接:http://www.cnblogs.com/ymy124/p/3632634.html 首先, C++中的explicit关键字只能用于修饰只有一个参数的类构造函数, 它的作用 ...
- iOS之initialize与load
initialize和load 这两个方法都是是什么时候调用的呢?都有着什么样的作用,下面看看吧! initialize +(void)initialize{ } 什么时候调用:当第一次使用这个类的时 ...
- ASP.NET知识总结(3.HTTP协议详解)
引言 HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1. ...
- awk分隔符设置技巧
Question:awk -F"[[]]"和awk -F"[][]"分割出的串为什么不一样呢? 按理说 -F"[]",[]表示匹配括号中的任 ...
- 在Salesforce中创建Approval Process
在Salesforce中可以创建Approval Process来实现审批流程的功能,实际功能与我们常说的Workflow很相似,具体的设置步骤如下所示 1):选择对应的Object去创建对应的App ...
- Linux学习笔记(5)-hello world
经过三天的熟悉,我已经将教程中那些常用命令都使用了一遍,所以,从今天起,我已经从一直Linux菜鸟蜕变成了大雕-- Linux的命令无穷多,要想背下来那肯定是不可能的,所以我的目标便是混个手熟,那些常 ...
- eclipse快捷键积累(持续更新)
大小写转换:Ctrl+Shift+X;Ctrl+Shift+Y; 打开资源:Ctrl+Shift+R; 打开类型:Ctrl+Shift+T; 调试时查看对象.变量:Ctrl+Shift+I; 打开函数 ...
- System.Windows.Application.Current.Dispatcher.BeginInvoke
System.Windows.Application.Current.Dispatcher.BeginInvoke(new Action(() => ...
- activity 、window与view的关系(下)
在activity的attacth方法中,通过policymanager 的makenewwindow来创建window 而window的具体实现是phonewindow 接下来通过setconten ...
- Leetcode Insert Interval
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessa ...