• 对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;
            }

    VB

    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

  • 相关阅读:
    TP框架基础
    PHP文件上传
    layui-简单的登录注册界面
    layui-注册界面
    JavaScript原生Ajax请求纯文本数据
    ajax异步请求数据
    PHP数据库连接
    PHP页面跳转以及伪登录实例
    OVER 分析函数
    Ubuntu 16 vi输入方向键会变成ABCD的解决方法
  • 原文地址:https://www.cnblogs.com/bicabo/p/1506466.html
Copyright © 2020-2023  润新知