C#对DataTable数据源进行服务端分页
C#中对List进行分页其实比较简单,可以利用Skip方法和Take方法进行实现,具体的代码如下:
list.Skip((PageIndex - 1) * PageSize).Take(PageSize);
最近帮朋友改代码的时候发现他用的是基本的DBHelper类来实现对数据库的增删改查操作,查询数据时使用DataTable进行接收,但是他又要对数据进行分页,所以就写了一个公共的DataTable分页方法。
public DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)
{
if (PageIndex == 0)
return dt;//0页代表每页数据,直接返回
DataTable newdt = dt.Copy();
newdt.Clear();
int rowbegin = (PageIndex - 1) * PageSize;
int rowend = PageIndex * PageSize;
if (rowbegin >= dt.Rows.Count)
return newdt;//源数据记录数小于等于要显示的记录,直接返回dt
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;
}
PageIndex表示第几页,PageSize表示每页的记录数,把数据源传进来然后把上述两个参数传进来就可以得到对应数据了。
版权声明:
作者:兴兴
文章:C#对DataTable数据源进行服务端分页
链接:https://www.networkcabin.com/notes/2003
文章版权归本站所有,未经授权请勿转载。
作者:兴兴
文章:C#对DataTable数据源进行服务端分页
链接:https://www.networkcabin.com/notes/2003
文章版权归本站所有,未经授权请勿转载。
THE END