DevExpress GridControl分页的实现

本文介绍了如何在DevExpress GridControl中实现分页功能,通过添加BindingNavigator和BindingSource两个组件,结合代码示例,详细阐述了分页的实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

               

添加两个组件:BindingNavigator和BindingSource




代码:

using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Data.SqlClient;using System.Drawing;using System.Text;using System.Linq;using System.Threading.Tasks;using System.Windows.Forms;using DevExpress.XtraEditors;using DZAMS.DBUtility;namespace DZAMS.Demo{    public partial class GridPage_Frm : DevExpress.XtraEditors.XtraForm    {        public DataTable dt = new DataTable();        StoreProcedure sp;        private int pageSize = 10;     //每页显示行数        private int nMax = 0;         //总记录数        private int pageCount = 0;    //页数=总记录数/每页显示行数        private int pageCurrent = 0;   //当前页号        private DataSet ds = new DataSet();        private DataTable dtInfo = new DataTable();        public GridPage_Frm()        {            InitializeComponent();        }        private void GridPage_Frm_Load(object sender, EventArgs e)        {            string strQuery = string.Format("SELECT   Id, UserCode, UserName, RoleName, Ip, Mac, LoginTime FROM   DZ_LoginLog");            dt = SqlHelper.ExecuteDataset(SqlHelper.conn, CommandType.Text, strQuery.ToString()).Tables[0];            gridControl1.DataSource = dt;            string strConn = "SERVER=(local);DATABASE=DZ;UID=sa;PWD=XXXX";   //数据库连接字符串            SqlConnection conn = new SqlConnection(strConn);            conn.Open();            string strSql = "SELECT count(*) as num FROM DZ_LoginLog";            SqlDataAdapter sda = new SqlDataAdapter(strSql, conn);            sda.Fill(ds, "ds");            conn.Close();            nMax = Convert.ToInt32(ds.Tables[0].Rows[0]["num"].ToString());            lblTotalCount.Text = nMax.ToString();            lblPageSize.Text = pageSize.ToString();            sp = new StoreProcedure("Pr_Monitor_Pagination", strConn);            dtInfo = sp.ExecuteDataTable("DZ_LoginLog", "Id", "Id desc", pageCurrent++, pageSize);            InitDataSet();        }        private void InitDataSet()        {            pageCount = (nMax / pageSize);    //计算出总页数            if ((nMax % pageSize) > 0) pageCount++;            pageCurrent = 1;    //当前页数从1开始            LoadData();        }        private void LoadData()        {            lblPageCount.Text = "/"+pageCount.ToString();            txtCurrentPage.Text = Convert.ToString(pageCurrent);            this.bdsInfo.DataSource = dtInfo;            this.bdnInfo.BindingSource = bdsInfo;            this.gridControl1.DataSource = bdsInfo;        }        private void bdnInfo_ItemClicked(object sender, ToolStripItemClickedEventArgs e)        {            if (e.ClickedItem.Text == "导出当前页")            {                SaveFileDialog saveFileDialog = new SaveFileDialog();                saveFileDialog.Title = "导出Excel";                saveFileDialog.Filter = "Excel文件(*.xls)|*.xls";                DialogResult dialogResult = saveFileDialog.ShowDialog(this);                if (dialogResult == DialogResult.OK)                {  &nb
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值