对DataTable进行分页
来源:互联网 发布:五角矩阵图片 编辑:程序博客网 时间:2024/05/29 15:04
在某些情况下可能需要必须对datatable进行分页如下:
C#:
/// <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;
}
/// 对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;
}
VB.net:
Public Shared Function GetPagedTable(ByVal dt As DataTable, ByVal PageIndex As Integer, ByVal PageSize As Integer) As DataTable
If PageIndex = 0 Then
Return dt
End If
Dim newdt As DataTable = dt.Copy()
newdt.Clear()
Dim rowbegin As Integer = (PageIndex - 1) * PageSize
Dim rowend As Integer = PageIndex * PageSize
If rowbegin >= dt.Rows.Count Then
Return newdt
End If
If rowend > dt.Rows.Count Then
rowend = dt.Rows.Count
End If
For i As Integer = rowbegin To rowend - 1
Dim newdr As DataRow = newdt.NewRow()
Dim dr As DataRow = dt.Rows(i)
For Each column As DataColumn In dt.Columns
newdr(column.ColumnName) = dr(column.ColumnName)
Next
newdt.Rows.Add(newdr)
Next
Return newdt
End Function
If PageIndex = 0 Then
Return dt
End If
Dim newdt As DataTable = dt.Copy()
newdt.Clear()
Dim rowbegin As Integer = (PageIndex - 1) * PageSize
Dim rowend As Integer = PageIndex * PageSize
If rowbegin >= dt.Rows.Count Then
Return newdt
End If
If rowend > dt.Rows.Count Then
rowend = dt.Rows.Count
End If
For i As Integer = rowbegin To rowend - 1
Dim newdr As DataRow = newdt.NewRow()
Dim dr As DataRow = dt.Rows(i)
For Each column As DataColumn In dt.Columns
newdr(column.ColumnName) = dr(column.ColumnName)
Next
newdt.Rows.Add(newdr)
Next
Return newdt
End Function
- 对DataTable进行分页
- 对DataTable进行分页
- 对DataTable进行分页
- 对DataTable进行分页
- .net 对已有的DataTable进行筛选、排序、分页
- 对datatable进行排序
- 对DataTable进行Distinct
- 使用datatable进行服务端分页
- asp.net中对DataTable数据进行排序、检索、合并、分页、统计
- [转]asp.net中对DataTable数据进行排序、检索、合并、分页、统计
- asp.net中对DataTable数据进行排序、检索、合并、分页、统计
- asp.net中对DataTable数据进行排序、检索、合并、分页、统计
- 对DataTable进行列选择
- 对datatable进行分组操作
- 对list进行分页
- 对ArrayList进行分页
- 使用AspNetPager绑定DataTable进行分页操作
- AspNetPager绑定DataTable进行分页操作
- DIV与SPAN之间有什么区别?
- 设置 span 宽度的完美解决方案
- 0-1问题代码(c语言实现)
- 验证视图状态MAC失败
- LayoutParams布局
- 对DataTable进行分页
- IE与Firefox的CSS兼容问题整理
- ssh 连接过程很慢
- 遍历文件夹
- 关于ASP.NET中用Response.Write()方法响应导致页面字体变大的问题
- C/C++静态成员变量和静态成员函数
- 二十、三十
- 如何使DIV居中
- cc++