/// <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. MFC图片操作

    根据MFC要操作图片的来源,可分为以下两类: 一.非动态显示图片(即图片先通过资源管理器载入,有一个固定ID) 二.动态载入图片(即只需要在程序中指定图片的路径即可载入) 一.非动态显示图片 1.传送 ...

  2. Collection类,泛型

    Collection(接口) 所有超级接口: Iterable<E> 一.集合 1.集合的介绍&集合和数组的区别 什么是集合:java中的一种容器 什么是数组:java中的一种容器 ...

  3. [转] The QCOW2 Image Format

    The QCOW2 Image Format https://people.gnome.org/~markmc/qcow-image-format.html The QCOW image format ...

  4. [转]深入理解 GRE tunnel

    我以前写过一篇介绍 tunnel 的文章,只是做了大体的介绍.里面多数 tunnel 是很容易理解的,因为它们多是一对一的,换句话说,是直接从一端到另一端.比如 IPv6 over IPv4 的 tu ...

  5. 搭建servlet+jsp环境

    c3p0: <?xml version="1.0" encoding="UTF-8"?><c3p0-config> <named- ...

  6. 【腾讯Bugly干货分享】Android 新一代多渠道打包神器

    关于作者: 李涛,腾讯Android工程师,14年加入腾讯SNG增值产品部,期间主要负责手Q动漫.企鹅电竞等项目的功能开发和技术优化.业务时间喜欢折腾新技术,写一些技术文章,个人技术博客:www.lt ...

  7. Android插件化的兼容性(中):Android P的适配

    Android系统的每次版本升级,都会对原有代码进行重构,这就为插件化带来了麻烦. Android P对插件化的影响,主要体现在两方面,一是它重构了H类中Activity相关的逻辑,另一个是它重构了I ...

  8. VIM简单配置

    配置vim配置 编辑配置文件 feng@mint ~ $ vim ~/.vimrc 配置如下 主要配置为自动换行,设置行号,设置tab键为4个空格,同时将tab键自动转换成空格 set autoind ...

  9. pytorch bug

    ImportError: torch.utils.ffi is deprecated raise ImportError("torch.utils.ffi is deprecated. Pl ...

  10. yum install --downloadonly 下载依赖包研究

    在CentOS中可以使用yum自动安装软件,在离线环境中却行不通. Linux localhost 3.10.0-327.el7.x86_64 #1 SMP Thu Nov 19 22:10:57 U ...