zoukankan      html  css  js  c++  java
  • DataGridView 分页显示

    DataGridView 分页显示函数

    1.获取当前页的子数据表函数

    public static DataTable GetPagedTable(DataTable dt, int PageIndex, int PageSize)
    {
        DataTable newdt = dt.Clone(); //复制dt数据表的架构
        int rowbegin = (PageIndex -1 ) * PageSize;
        int rowend = PageIndex * PageSize;
        
        if(rowbeign >= dt.rows.Count)
        {
            return newdt;          //起始记录行数大于等于总记录数
        }
    
        if(rowend > dt.Rows.Count)
        {
            rowend = dt.Rows.Count;
        }
    
        for(int i= rowbegin; i< rowend; 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;
    }

    2. 调用获取子数据表函数,显示某页数据在datagridview上

    SqlDataAdapter da = new SqlDataAdapter();
    DataTable newdt = new DataTable();
    
    int PageIndex = 1;
    int PageSize = 10;
    
    ............
    
    SqlCommand com = new SqlCommand("querystring",sqlconnect);
    da = new SqlDataAdapter(com);
    da.Fill(dt);
    newdt = GetPagedTable(dt,PageIndex,PageSize);
    
    dataGridView1.DataSource = newdt;
    

    3. 使用NumericUpDown组件动态控制每页显示的数据记录数

    private void numericUpDown1_ValueChanged(object sender, EventArgs e)
    {
        PageIndex =1;
        PageSize = (int)numericUpDown1.Value;
    
        DataTable newdt = GetPagedTable(dt, PageIndex, PageSize);
        dataGridView1.DataSource = newdt;
    }

      

  • 相关阅读:
    关于hibernate中多对多关系
    选择排序
    Offer是否具有法律效力?
    textarea文本域宽度和高度(width、height)自己主动适应变化处理
    序列相关的趣题 之三
    windows的定时任务设置
    Maven pom.xml 配置详解
    PS 图像特效-非线性滤波器
    PS 滤镜算法原理——拼贴
    PS 滤镜算法原理——曝光过度
  • 原文地址:https://www.cnblogs.com/leenice/p/5198318.html
Copyright © 2011-2022 走看看