86 lines
2.5 KiB
C#
86 lines
2.5 KiB
C#
using System.Data;
|
|
using System.Linq;
|
|
using WX.CRM.Common;
|
|
using WX.CRM.Common.Layui;
|
|
|
|
namespace WX.CRM.BLL.Util
|
|
{
|
|
public class PagerUtil
|
|
{
|
|
/// <summary>
|
|
/// 设置分页信息
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
/// <param name="queryData"></param>
|
|
/// <param name="pager"></param>
|
|
public static void SetPager<T>(ref IQueryable<T> queryData, ref Pager pager)
|
|
{
|
|
//分页
|
|
pager.totalRows = queryData.Count();
|
|
if (pager.totalRows > 0)
|
|
{
|
|
if (pager.page <= 1)
|
|
{
|
|
queryData = queryData.Take(pager.rows);
|
|
}
|
|
else
|
|
{
|
|
queryData = queryData.Skip((pager.page - 1) * pager.rows).Take(pager.rows);//分页
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 设置分页信息
|
|
/// </summary>
|
|
/// <typeparam name="T"></typeparam>
|
|
/// <param name="queryData"></param>
|
|
/// <param name="pager"></param>
|
|
public static void SetPager<T>(ref IQueryable<T> queryData, ref Laypage pager)
|
|
{
|
|
//分页
|
|
pager.count = queryData.Count();
|
|
if (pager.count > 0)
|
|
{
|
|
if (pager.page <= 1)
|
|
{
|
|
queryData = queryData.Take(pager.limit);
|
|
}
|
|
else
|
|
{
|
|
queryData = queryData.Skip((pager.page - 1) * pager.limit).Take(pager.limit);//分页
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public static DataTable SetPager(DataTable dt, ref Pager pager)
|
|
{
|
|
pager.totalRows = dt.Rows.Count;
|
|
if (pager.page == 0) { return dt; }
|
|
DataTable newdt = dt.Copy();
|
|
newdt.Clear();
|
|
int rowbegin = (pager.page - 1) * pager.rows;
|
|
int rowend = pager.page * pager.rows;
|
|
|
|
if (rowbegin >= dt.Rows.Count)
|
|
{ return newdt; }
|
|
|
|
if (rowend > dt.Rows.Count)
|
|
{ rowend = dt.Rows.Count; }
|
|
for (int i = rowbegin; i <= rowend - 1; i++)
|
|
{
|
|
DataRow newdr = newdt.NewRow();
|
|
DataRow dr = dt.Rows[i];
|
|
foreach (DataColumn column in dt.Columns)
|
|
{
|
|
newdr[column.ColumnName] = dr[column.ColumnName];
|
|
}
|
|
newdt.Rows.Add(newdr);
|
|
}
|
|
return newdt;
|
|
|
|
}
|
|
}
|
|
}
|