winform 分页

2 篇文章 0 订阅

` WINFORM 分页

    int pageSize = 0;     //每页显示行数
    int nMax = 0;         //总记录数
    int pageCount = 0;    //页数=总记录数/每页显示行数
    int pageCurrent = 0;   //当前页号
    int nCurrent = 0;      //当前记录行
    DataSet ds = new DataSet();
    DataTable dtInfo = new DataTable();
    private void LoadData()
    {
        int nStartPos = 0;   //当前页面开始记录行
        int nEndPos = 0;     //当前页面结束记录行
        DataTable dtTemp = dtInfo.Clone();   //克隆DataTable结构框架

        if (pageCurrent == pageCount)
        {
            nEndPos = nMax;
        }
        else
        {
            nEndPos = pageSize * pageCurrent;
        }

        nStartPos = nCurrent;
        //从元数据源复制记录行
        for (int i = nStartPos; i < nEndPos; i++)
        {
            dtTemp.ImportRow(dtInfo.Rows[i]);
            nCurrent++;
        }

        this.dataGridView1.DataSource = dtTemp;
    }
    private void InitDataSet()
    {
        pageSize = 2;      //设置页面行数
        nMax = dtInfo.Rows.Count;
        pageCount = (nMax / pageSize);    //计算出总页数
        if ((nMax % pageSize) > 0) pageCount++;
        pageCurrent = 1;    //当前页数从1开始
        nCurrent = 0;       //当前记录数从0开始
        LoadData();
    }
    
    private void Lloct_Info_Load(object sender, EventArgs e)
    {
        //load
        SqlConnection conn = new SqlConnection();
        conn.ConnectionString = "Data Source=.;Initial Catalog=Lloct;User ID=sa;Password=123456;";
        conn.Open();
        string sqlstr = "select * from WorkWear";
        SqlCommand com = new SqlCommand(sqlstr, conn);
        SqlDataAdapter da = new SqlDataAdapter(com);
        dtInfo = new DataTable();
        da.Fill(dtInfo);
        InitDataSet();
        this.label12.Text = "第" + pageCurrent + "页" + "共" + pageCount + "页"+"共"+nMax+"条";
        dataGridView1.AllowUserToAddRows = false;
        conn.Close();

    }

    private void label9_Click(object sender, EventArgs e)//下一页
    {
        pageCurrent++;
        if (pageCurrent > pageCount)
        {
            pageCurrent--;
            MessageBox.Show("已经是最后一页,请点击“上一页”查看!");
            return;
        }
        else
        {
            nCurrent = pageSize * (pageCurrent - 1);
        }
        this.label12.Text = "第" + pageCurrent + "页" + "共" + pageCount + "页" + "共" + nMax + "条";
        LoadData();
    }
    //上一页
    private void label8_Click(object sender, EventArgs e)
    {
        pageCurrent--;
        if (pageCurrent ==0)
        {
            pageCurrent++;
            MessageBox.Show("已经是第一页,请点击“下一页”查看!");
            return;
        }
        else
        {
            nCurrent = pageSize * (pageCurrent - 1);
        }
        this.label12.Text = "第" + pageCurrent + "页" + "共" + pageCount + "页" + "共" + nMax + "条";
        LoadData();
    }
    //首页
    private void label10_Click(object sender, EventArgs e)
    {
        pageCurrent=1;
        nCurrent = pageSize * (pageCurrent - 1);
        this.label12.Text = "第" + pageCurrent + "页" + "共" + pageCount + "页" + "共" + nMax + "条";
        LoadData();
    }
    //尾页
    private void label11_Click(object sender, EventArgs e)
    {
        pageCurrent = pageCount;
        nCurrent = pageSize * (pageCurrent - 1);
        this.label12.Text = "第" + pageCurrent + "页" + "共" + pageCount + "页" + "共" + nMax + "条";
        LoadData();
    }
    //跳转
    private void button1_Click(object sender, EventArgs e)
    {
        int num = Convert.ToInt32(this.textBox1.Text);
        if (num>pageCount)
        {
            MessageBox.Show("此页不存在!");
            this.textBox1.Text = String.Empty;
            return;
        }

        pageCurrent = num;
        nCurrent=pageSize*(pageCurrent-1);
        this.label12.Text = "第" + pageCurrent + "页" + "共" + pageCount + "页" + "共" + nMax + "条";
        LoadData();
        this.textBox1.Text = String.Empty;
    }

+ Shift + K

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值