using System.Data;
using System.Linq;
using WX.CRM.Common;
using WX.CRM.Common.Layui;
namespace WX.CRM.BLL.Util
{
public class PagerUtil
{
///
/// 设置分页信息
///
///
///
///
public static void SetPager(ref IQueryable 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);//分页
}
}
}
///
/// 设置分页信息
///
///
///
///
public static void SetPager(ref IQueryable 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;
}
}
}