/// <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的更多相关文章

  1. jqGrid jqGrid分页参数+条件查询

    HTML <div class="row"> <div class="col-sm-20"> <form id="for ...

  2. Jqgrid的用法总结与分页功能的拓展

    这是本人写的第一个与技术相关的博客,但是非挑战技术的,而是对工作的总结,另外加一点点拓展. Jqgrid的功能十分强大,强大到可以做到与数据grid相关的任何功能,同时由于在用的过程中总是不能够一气呵 ...

  3. jqGrid 分页

    这两天一直在搞jqGrid分页,焦头烂额,不过还是有点收获的(主要是后台分页):   jqGrid分页可以分为两种,远程数据(服务器数据)分页和本地数据分页,     先看远程数据分页:   $(&q ...

  4. SSM+PageHelper+jqGrid实现数据分页

    前言 前几天自己写了一个分页功能,代码逻辑写的很乱今天发现jqGrid这个工具是真好用,故记录下来方便以后使用首先是PageHelper后台分页工具PageHelper的原理是基于拦截器实现的 具体流 ...

  5. 基于jqgrid + ashx + nhibernate的分页

    因为我目前运维的是一个webform项目,项目中未用到分页的功能,我百度了很多文章也没有一篇是结合jqgrid + ashx + nhibernate的分页,可能是因为后台要请求ashx的原因,不像m ...

  6. jqGrid合并表头

    jqGrid是一款常用的制表软件,最近开发刚好用到.记录一下常用功能留着以后查找顺便发扬一下开源精神. 二级表头是一种经常会碰到的需求,很多时候为了方便查找需要在原有的表头上再加一层,区分表格不同列的 ...

  7. jqGrid插件getCol方法的一个改进

    jgGrid插件是非常常用的一个基于jQuery的表格插件,功能非常强大.我最近也频繁使用.但是这个插件也有一些不够完善的地方.比如这个getCol方法. getCol方法接受三个参数 colname ...

  8. jqgrid+bootstrap样式实践

    jqgrid+bootstrap样式实践,报错数据加载,选中,删除等功能 需要引入的样式 bootstrap.min.css ui.jqgrid.css 需要引入的JS jquery.min.js b ...

  9. 重复加载同一个jqgrid

    重复加载同一个jqgrid时需要先清除原先的数据,再进行加载新的数据: 清除时使用方法:jQuery.jgrid.gridUnload('jqGridId'); 同时还有一个GridDestroy的方 ...

随机推荐

  1. python基础自学 第一天

    python的概述 python的创始人:吉多·范罗苏姆 1991年,第一个python解释器诞生,用C语言实现,并能调用C语音的库文件 解释器(解释型语言和编 译型语言的区别) 把其他语言翻译成计算 ...

  2. arp脚本

    1.什么是arp?arp可以解决什么问题? ARP:是地址解析协议 arp解决我们知道一个机器(主机或者路由器)的IP地址,需要找出其相应的硬件地址 2.编写ARP脚本,抓取对应主机的mac地址 1 ...

  3. CS61A hw01

    前不久在知乎上看到CS61A 和CS61B spring18 开课的消息.上去看了一眼,发现真的不错,所有proj hw都可以本地测试!也就是说除了没有课程成绩和官方讨论区和TA解答外,这个课完全可以 ...

  4. weexpack打包weex项目运行/打包记录

    构建weex项目 安装weex-toolkit cnpm install -g weex-toolkit 初始化一个项目只需新建文件夹并在目录下执行 weex init 即可 安装依赖:cnpm in ...

  5. Python Tkinter 简单使用

    简单的一些实例,能够实现一般的功能就够用了 Tkinter: 创建顶层窗口: # -*- coding: utf-8 -*- from Tkinter import *   root = Tk() r ...

  6. [Swift]Xcode标记:MARK、TODO、FIXME

    1. MARK MARK一定要大写.其又叫做代码标注,我们可以使用它来添加一些说明文字.同时可以选择其上方是否需要显示分割线. // MARK: - 说明文字,带分割线 // MARK: 说明文字,不 ...

  7. 将本地代码上传到github走过的坑

    1.因为github是服务端,需要自己在自己的电脑上安装一个客户端git 2.配置SSH(配置一次就好了) github是不能随便上传代码上去的,而是通过一种网络协议---SSH授权的.SSH是一种网 ...

  8. MyEclipse中JavaMail冲突问题

    MyEclipse中的JavaEE5中的mail包中只有接口,而没有实现,所以不能使用 会抛出:java.lang.NoClassDefFoundError: com/sun/mail/util/BE ...

  9. Ocelot简易教程(三)之主要特性及路由详解

    作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9664977.html 上篇<Ocelot简易教程(二)之快速开始2>教大家如何快速跑起来一个 ...

  10. c++中的左值与右值

    左值(lvalue)和右值(rvalue)是 c/c++ 中一个比较晦涩基础的概念,不少写了很久c/c++的人甚至没有听过这个名字,但这个概念到了 c++11 后却变得十分重要,它们是理解 move/ ...