DataTable分页数据

public static DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)
{

    if (PageIndex == 0)
        return dt;
    DataTable newdt = dt.Clone();
    //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;
}

 

posted @ 2009-06-16 00:24  X-Jonney  阅读(373)  评论(0编辑  收藏  举报