zoukankan      html  css  js  c++  java
  • 模糊查询+分页 Alec

     /// <summary>
            /// 查询员工
            /// </summary>
            /// <param name="queryString">待查询的字符串</param>
            /// <returns></returns>
            public static IList<Xlzt.DataAccessLayer.Member> QueryMember(out int totleCount, int pageNum, int pageSize,String queryString)
            {
                try
                {
                    using (Xlzt.DataAccessLayer.CRM_DBEntity db = new CRM_DBEntity())
                    {
                        //按员工姓名,工号,部门三个字段模糊查询
                        var result = db.Members.OrderBy(c=>c.account).Where(obj => obj.name.StartsWith(queryString) || obj.name.EndsWith(queryString) || obj.name.IndexOf(queryString) != -1
                           || obj.account.StartsWith(queryString) || obj.account.EndsWith(queryString) || obj.account.IndexOf(queryString) != -1
                             || obj.department.StartsWith(queryString) || obj.department.EndsWith(queryString) || obj.department.IndexOf(queryString) != -1
                            );
                        //获取总记录数目
                        totleCount = result.ToArray().Length;
                        //获取请求页的最大索引
                        int max = (result.ToArray().Length <= pageNum * pageSize) ? result.ToArray().Length : pageNum * pageSize;
                        if (max < (pageNum - 1) * pageSize)
                        {
                            //请求页的最大索引比它上一页的最大索引还小:矛盾
                            return null;
                        }
                        else if (max < pageSize * pageNum)
                        {
                            //请求页是左后一页
                            return result.Skip((pageNum - 1) * pageSize).ToList();//使用Skip时要使用OrderBy
                        }
                        else
                        {
                            //请求页正常返回
                            return result.Skip((pageNum - 1) * pageSize).Take(pageSize).ToList();
                        }
                       
                    }
                }
                catch (Exception)
                {
                    totleCount = 0;
                    return null;
                }
    
            }
  • 相关阅读:
    ubuntu下使用golang、qml与ubuntu sdk开发桌面应用 (简单示例)
    Go Revel 学习指南
    Go Revel
    Go Revel
    Go Revel
    Go Revel
    Go Revel
    Go Revel
    Go Revel
    Go Revel
  • 原文地址:https://www.cnblogs.com/yinluhui0229/p/2583796.html
Copyright © 2011-2022 走看看