zoukankan      html  css  js  c++  java
  • C#针对DataTable进行分页方法

    以下的分页方法是针对数据量不是非常大的数据进行的,是在内存中进行的分页操作。

    /// <summary>

    /// DataTable分页

    /// </summary>
    /// <param name="dt">DataTable</param>
    /// <param name="PageIndex">页索引,注意:从1开始</param>
    /// <param name="PageSize">每页大小</param>
    /// <returns>分好页的DataTable数据</returns>              第1页        每页10条
    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;
    }
     
    /// <summary>
    /// 返回分页的页数
    /// </summary>
    /// <param name="count">总条数</param>
    /// <param name="pageye">每页显示多少条</param>
    /// <returns>如果 结尾为0:则返回1</returns>
    public static int PageCount(int count, int pageye)
    {
        int page = 0;
        int sesepage = pageye;
        if (count % sesepage == 0) { page = count / sesepage; }
        else { page = (count / sesepage) + 1; }
        if (page == 0) { page += 1; }
        return page;
    }
  • 相关阅读:
    Dash panel 里面添加启动项
    Ubuntu安装chrome
    多核CPU服务器 tomcat配置
    Iptux 信使 自动缩小问题 ubuntu12.04
    Html5 上传文件
    ubuntu 12.04 字体设置
    Ubuntu12.04 Eclipse 背景颜色 修改
    一些需要禁用的PHP危险函数
    Oracle 修改带数据的字段类型
    oracle 中同一个字段1 ,字段追加,字段部分数据删除
  • 原文地址:https://www.cnblogs.com/elim/p/3717857.html
Copyright © 2011-2022 走看看