c# 后台分页 jqgrid
/// <summary>
/// 获取设备数量
/// </summary>
/// <param name="Organid">单位ID</param>
/// <param name="Name">模糊查询单位名称</param>
/// <returns></returns>
public IList<Devicelist> GetDeviceList(string Organid, string Name, int startIndex, int resultCount, ref int recordCount)
{
string sqlwhere = " and 1=1";
if (!string.IsNullOrEmpty(Name))
{
sqlwhere += " and s.organ_name like '%" + Name + "%' ";
}
if (!string.IsNullOrEmpty(Organid))
{
sqlwhere += " and s.organ_id ='" + Organid + "'";
} string sql = string.Format("select decode(t.device_type,1,'电脑','平板') device_typeName,t.device_type,t.device_limit,s.organ_name,t.organ_id from sys_organization s,t_device_countlimit t where t.organ_id=s.organ_id ");
sql += sqlwhere+ "order by s.district_code";
if (!DataAccess.IsOpened)
DataAccess.OpenConnection();
DataTable dt = DataAccess.GetDataTable(sql.ToString());
if (DataAccess.IsOpened)
DataAccess.CloseConnection();
IList<Devicelist> list = new List<Devicelist>();
if(dt.Rows.Count>)
{
foreach(DataRow s in dt.Rows)
{
Devicelist model = new Devicelist();
model.TypeName = s["device_typeName"].ToString();
model.DeviceType = s["device_type"].ToString();
model.limit = Convert.ToInt32(s["device_limit"]);
model.Organid = s["organ_id"].ToString();
model.OrganName = s["organ_name"].ToString();
list.Add(model);
}
}
recordCount = list.Count; // 设置起始行和每页行数
IList<Devicelist> resultList = new List<Devicelist>();
if (startIndex != || resultCount != )
{
resultCount = recordCount > resultCount ? resultCount : recordCount;
for (int i = startIndex; i < resultCount; i++)
{
resultList.Add(list[i]);
}
}
else
{
for (int i = startIndex; i < recordCount; i++)
{
resultList.Add(list[i]);
}
} return resultList; }
控制器
/// <summary>
/// 设备管理列表
/// </summary>
/// <returns></returns>
[HttpPost]
public ActionResult List()
{
Devicelist model = JsonConvert.DeserializeObject<Devicelist>(Request.Form["queryJson"]); string organid = model.Organid;
string OrganName = model.OrganName;
// 分页参数
int _RowsCount = ;
int currentPage = Convert.ToInt32(Request.Form["page"]); //页码
int _PageSize = Convert.ToInt32(Request.Form["rows"]); //每页显示数 IList<Devicelist> devices = _DeviceManagerRepository.GetDeviceList(organid,OrganName, (currentPage - ) * _PageSize, _PageSize * currentPage, ref _RowsCount); IList<Devicelist> PageList = new List<Devicelist>();
Devicelist listmodel = null; foreach(var s in devices)
{
listmodel = new Devicelist();
listmodel.Organid = s.Organid;
listmodel.OrganName = s.OrganName;
listmodel.TypeName = s.TypeName;
listmodel.DeviceType = s.DeviceType;
listmodel.limit = s.limit;
PageList.Add(listmodel);
} PagedResult<Devicelist> page = new PagedResult<Devicelist>
{
rows = PageList.ToList(),
records = _RowsCount,
page = currentPage,
pagesize = _PageSize
}; return Json(page);
}
PagedResult
/// <summary>
/// 分页结果
/// </summary>
/// <typeparam name="T"></typeparam>
public class PagedResult<T>
{
/// <summary>
/// ctor
/// </summary>
public PagedResult()
{
rows = new List<T>();
} /// <summary>
/// ctor with params
/// </summary>
/// <param name="pageIndex">当前页码</param>
/// <param name="pageSize">每页显示数量</param>
public PagedResult(int pageIndex, int pageSize)
{
page = pageIndex;
pagesize = pageSize;
} /// <summary>
/// 总记录数
/// </summary>
public int records { set; get; }
/// <summary>
/// 当前页的所有项
/// </summary>
public IList<T> rows { set; get; }
/// <summary>
/// 当前页
/// </summary>
public int page { set; get; }
/// <summary>
/// 页大小
/// </summary>
public int pagesize { set; get; }
/// <summary>
/// 页总数
/// </summary>
public int total { get { return records.CeilingDivide(pagesize); } }
}
c# 后台分页 jqgrid的更多相关文章
- jqGrid jqGrid分页参数+条件查询
HTML <div class="row"> <div class="col-sm-20"> <form id="for ...
- Jqgrid的用法总结与分页功能的拓展
这是本人写的第一个与技术相关的博客,但是非挑战技术的,而是对工作的总结,另外加一点点拓展. Jqgrid的功能十分强大,强大到可以做到与数据grid相关的任何功能,同时由于在用的过程中总是不能够一气呵 ...
- jqGrid 分页
这两天一直在搞jqGrid分页,焦头烂额,不过还是有点收获的(主要是后台分页): jqGrid分页可以分为两种,远程数据(服务器数据)分页和本地数据分页, 先看远程数据分页: $(&q ...
- SSM+PageHelper+jqGrid实现数据分页
前言 前几天自己写了一个分页功能,代码逻辑写的很乱今天发现jqGrid这个工具是真好用,故记录下来方便以后使用首先是PageHelper后台分页工具PageHelper的原理是基于拦截器实现的 具体流 ...
- 基于jqgrid + ashx + nhibernate的分页
因为我目前运维的是一个webform项目,项目中未用到分页的功能,我百度了很多文章也没有一篇是结合jqgrid + ashx + nhibernate的分页,可能是因为后台要请求ashx的原因,不像m ...
- jqGrid合并表头
jqGrid是一款常用的制表软件,最近开发刚好用到.记录一下常用功能留着以后查找顺便发扬一下开源精神. 二级表头是一种经常会碰到的需求,很多时候为了方便查找需要在原有的表头上再加一层,区分表格不同列的 ...
- jqGrid插件getCol方法的一个改进
jgGrid插件是非常常用的一个基于jQuery的表格插件,功能非常强大.我最近也频繁使用.但是这个插件也有一些不够完善的地方.比如这个getCol方法. getCol方法接受三个参数 colname ...
- jqgrid+bootstrap样式实践
jqgrid+bootstrap样式实践,报错数据加载,选中,删除等功能 需要引入的样式 bootstrap.min.css ui.jqgrid.css 需要引入的JS jquery.min.js b ...
- 重复加载同一个jqgrid
重复加载同一个jqgrid时需要先清除原先的数据,再进行加载新的数据: 清除时使用方法:jQuery.jgrid.gridUnload('jqGridId'); 同时还有一个GridDestroy的方 ...
随机推荐
- spark wordcount 编程模型详解
spark wordcount中一共经历多少个RDD?以及RDD提供的toDebugString 在控制台输入spark-shell 系统会默认创建一个SparkContext sc h ...
- ESB开发WebService接口
1 概述 在进行系统间集成时经常利用WebService,但是从建立WebService和调用的重复性和维护性的工作量都相当大. 首先简单介绍一下,ESB全称为Enterprise Service B ...
- spark-submit(spark版本2.4.2)
spark-submit官方文档 :http://spark.apache.org/docs/latest/submitting-applications.html Launching Applica ...
- Android NDK学习(五):Java调用Native代码流程总结
编写一个Java类,并且在某个方法签名的修饰符中加上native修饰符. 使用Javac命令编译第一步中的Java类,使之成为一个class文件. 使用Javah -jni 包名.类名 生成Jni接口 ...
- Javascript高级编程学习笔记(60)—— 事件(4)事件类型
事件类型 Web浏览器中可能发生的事件有许多种类型 不同类型的事件都有着自己独特的信息 在“DOM3级事件”规范中,规定了以下几类事件: UI事件 当用户与页面元素交互时触发 焦点事件 当 ...
- ADB驱动
Windows 7 64位下使用ADB驱动 什么是ADB? adb的全称为Android Debug Bridge,就是起到调试桥的作用.通过adb我们可以在Eclipse中方面通过DDMS来调试An ...
- Numpy学习二:数组的索引与切片
1.一维数组索引与切片#创建一维数组arr1d = np.arange(10)print(arr1d) 结果:[0 1 2 3 4 5 6 7 8 9] #数组的索引从0开始,通过索引获取第三个元素a ...
- JDK设计模式之——责任链(Filter)
责任链的设计模式可以参考Servlet的FilterChain.FilterChain中的每个Filter(过滤器)就像一个个的链条 web开发中 有时候需要对接口request和response进行 ...
- [Postman]创建第一个集合(2)
邮递员收藏是一组可以组织到文件夹中的已保存请求. 您在Postman中发送的每个请求都会显示在侧栏的“ 历史记录”选项卡下.在小规模上,通过历史部分重用请求很方便.但是,随着邮递员使用量的增加,在历史 ...
- Scala - 快速学习01 - Scala简介
Scala简介 Scala(Scalable Language)是一门多范式(multi-paradigm)编程语言,Scala的设计吸收借鉴了许多种编程语言的思想,具备面向对象编程.函数式编程等特性 ...