62,268
社区成员
发帖
与我相关
我的任务
分享 /**//// <summary>
/// 对DataTable进行分页,起始页为1
/// </summary>
/// <param name="dt"></param>
/// <param name="PageIndex"></param>
/// <param name="PageSize"></param>
/// <returns></returns>
public static DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)
{
if (PageIndex == 0)
return dt;
DataTable newdt = dt.Copy();
newdt.Clear();
int rowbegin = (PageIndex - 1) * PageSize;
int rowend = PageIndex * PageSize;
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;
}
ALTER procedure [dbo].[pagerprco]
(@startIndex int,
@endIndex int,
@docount int output,
@title varchar(50),
@desc varchar(MAX))
as
select @docount = count(1) from MCO_GROUP WHERE GP_NAME like '%' + @title + '%' and GP_DESCRIPTION like '%' + @desc + '%'
begin
with temptbl as (
SELECT ROW_NUMBER()
OVER (ORDER BY GP_ID desc)AS Row, O.GP_ID,O.GP_NAME,O.GP_DESCRIPTION from MCO_GROUP O
WHERE GP_NAME like '%' + @title + '%' and GP_DESCRIPTION like '%' + @desc + '%' )
SELECT GP_ID,GP_NAME,GP_DESCRIPTION FROM temptbl where Row between @startIndex and @endIndex
end