zoukankan      html  css  js  c++  java
  • c# 后台分页 jqgrid

     1  /// <summary>
     2         /// 获取设备数量
     3         /// </summary>
     4         /// <param name="Organid">单位ID</param>
     5         /// <param name="Name">模糊查询单位名称</param>
     6         /// <returns></returns>
     7         public IList<Devicelist> GetDeviceList(string Organid, string Name, int startIndex, int resultCount, ref int recordCount)
     8         {
     9             string sqlwhere = " and 1=1";
    10             if (!string.IsNullOrEmpty(Name))
    11             {
    12                 sqlwhere += " and  s.organ_name like '%" + Name + "%' ";
    13             }
    14             if (!string.IsNullOrEmpty(Organid))
    15             {
    16                 sqlwhere += " and s.organ_id ='" + Organid + "'";
    17             }
    18 
    19             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 ");
    20             sql += sqlwhere+ "order by s.district_code";
    21             if (!DataAccess.IsOpened)
    22                 DataAccess.OpenConnection();
    23             DataTable dt = DataAccess.GetDataTable(sql.ToString());
    24             if (DataAccess.IsOpened)
    25                 DataAccess.CloseConnection();
    26             IList<Devicelist> list = new List<Devicelist>();
    27             if(dt.Rows.Count>0)
    28             {
    29                 foreach(DataRow s in dt.Rows)
    30                 {
    31                     Devicelist model = new Devicelist();
    32                     model.TypeName = s["device_typeName"].ToString();
    33                     model.DeviceType = s["device_type"].ToString();
    34                     model.limit = Convert.ToInt32(s["device_limit"]);
    35                     model.Organid = s["organ_id"].ToString();
    36                     model.OrganName = s["organ_name"].ToString();
    37                     list.Add(model);
    38                 }
    39             }
    40             recordCount = list.Count;
    41 
    42 
    43                 // 设置起始行和每页行数
    44                 IList<Devicelist> resultList = new List<Devicelist>();
    45                 if (startIndex != 0 || resultCount != 0)
    46                 {
    47                     resultCount = recordCount > resultCount ? resultCount : recordCount;
    48                     for (int i = startIndex; i < resultCount; i++)
    49                     {
    50                         resultList.Add(list[i]);
    51                     }
    52                 }
    53                 else
    54                 {
    55                     for (int i = startIndex; i < recordCount; i++)
    56                     {
    57                         resultList.Add(list[i]);
    58                     }
    59                 }
    60 
    61                 return resultList;
    62 
    63            
    64         }

     控制器

     1   /// <summary>
     2         /// 设备管理列表
     3         /// </summary>
     4         /// <returns></returns>
     5         [HttpPost]
     6         public ActionResult List()
     7         {
     8             Devicelist model = JsonConvert.DeserializeObject<Devicelist>(Request.Form["queryJson"]);
     9 
    10             string organid = model.Organid;
    11             string OrganName = model.OrganName;
    12             // 分页参数
    13             int _RowsCount = 0;
    14             int currentPage = Convert.ToInt32(Request.Form["page"]); //页码
    15             int _PageSize = Convert.ToInt32(Request.Form["rows"]); //每页显示数
    16 
    17             IList<Devicelist> devices = _DeviceManagerRepository.GetDeviceList(organid,OrganName, (currentPage - 1) * _PageSize, _PageSize * currentPage, ref _RowsCount);
    18 
    19             IList<Devicelist> PageList = new List<Devicelist>();
    20             Devicelist listmodel = null;
    21 
    22             foreach(var s  in devices)
    23             {
    24                 listmodel = new Devicelist();
    25                 listmodel.Organid = s.Organid;
    26                 listmodel.OrganName = s.OrganName;
    27                 listmodel.TypeName = s.TypeName;
    28                 listmodel.DeviceType = s.DeviceType;
    29                 listmodel.limit = s.limit;
    30                 PageList.Add(listmodel);
    31             }
    32 
    33             PagedResult<Devicelist> page = new PagedResult<Devicelist>
    34             {
    35                 rows = PageList.ToList(),
    36                 records = _RowsCount,
    37                 page = currentPage,
    38                 pagesize = _PageSize
    39             };
    40 
    41             return Json(page);
    42         }

    PagedResult

     1    /// <summary>
     2     /// 分页结果
     3     /// </summary>
     4     /// <typeparam name="T"></typeparam>
     5     public class PagedResult<T>
     6     {
     7         /// <summary>
     8         /// ctor
     9         /// </summary>
    10         public PagedResult()
    11         {
    12             rows = new List<T>();
    13         }
    14 
    15         /// <summary>
    16         /// ctor with params
    17         /// </summary>
    18         /// <param name="pageIndex">当前页码</param>
    19         /// <param name="pageSize">每页显示数量</param>
    20         public PagedResult(int pageIndex, int pageSize)
    21         {
    22             page = pageIndex;
    23             pagesize = pageSize;
    24         }
    25 
    26         /// <summary>
    27         /// 总记录数
    28         /// </summary>
    29         public int records { set; get; }
    30         /// <summary>
    31         /// 当前页的所有项
    32         /// </summary>
    33         public IList<T> rows { set; get; }
    34         /// <summary>
    35         /// 当前页
    36         /// </summary>
    37         public int page { set; get; }
    38         /// <summary>
    39         /// 页大小
    40         /// </summary>
    41         public int pagesize { set; get; }
    42         /// <summary>
    43         /// 页总数
    44         /// </summary>
    45         public int total { get { return records.CeilingDivide(pagesize); } }
    46     }
  • 相关阅读:
    leecode4:寻找两个正序数组的中位数
    leecode3:无重复字符的最长子串
    leecode2:两数相加
    KMP字符串模式匹配
    01迷宫问题
    汉诺塔问题
    微服务-基于Grpc的进程通信-Grpc异常捕获RpcException(4-4)
    React-Antd Pro增删改查
    HTTP 请求
    创业路上-1
  • 原文地址:https://www.cnblogs.com/pxkuan/p/10042942.html
Copyright © 2011-2022 走看看