C# 分页实现代码示例
"C#分页代码示例及解析" 在.NET框架中,C#是一种常用的编程语言,尤其在开发Web应用程序时,分页是必不可少的功能,用于处理大量数据并提高用户体验。以下是一个C#实现分页功能的代码示例,它涉及到数据库连接、配置文件读取以及数据操作等关键知识点。 首先,`app.config`文件是.NET应用程序的配置文件,用来存储应用程序的设置,如数据库连接字符串。在这个例子中,`ConnectionString`是从`app.config`中读取的,用于建立与SQL Server数据库的连接。 接着,我们引入了`System.Configuration`命名空间,这是.NET Framework提供的一个用于处理配置文件的类库。通过`ConfigurationManager.ConnectionStrings`可以获取配置文件中的连接字符串。 在代码中,定义了一些变量来存储分页所需的信息,例如`pageSize`表示每页显示的数据条数,`nMax`是总记录数,`pageCount`是总页数,`pageCurrent`是当前页数,`nCurrent`是当前记录数。 在`Form1_Load`事件处理函数中,创建了一个`SqlConnection`对象,并使用配置文件中的连接字符串打开数据库连接。接着,通过`SqlDataAdapter`创建了一个数据适配器,其构造函数接收SQL查询语句和数据库连接。在这里的SQL语句是一个简单的示例,通常会根据实际需求替换为带有WHERE条件的查询。 `SqlDataAdapter`的`Fill`方法将查询结果填充到`DataTable`对象`dt`中。如果`DataTable`有数据,那么会启用相应的UI元素,允许用户进行分页操作。否则,表示没有数据,禁用相关的UI元素。 为了实现分页,你需要计算总页数(`pageCount`)和当前页数(`pageCurrent`),这通常涉及到数学运算,例如`pageCount = (nMax + pageSize - 1) / pageSize`。同时,根据当前页数和每页大小获取显示的数据,这可以通过索引来实现,比如`ds.Tables[0].Rows[(pageCurrent - 1) * pageSize]`。 此外,分页还需要UI交互,如按钮点击事件处理函数,当用户改变页码或每页显示数量时,需要重新执行查询并更新UI。这部分代码在提供的内容中没有体现,但通常会包含在完整的分页解决方案中。 这个C#分页代码示例展示了如何使用配置文件、数据库连接、数据适配器以及基本的分页逻辑来实现分页功能。它具有一定的参考价值,可以帮助开发者快速理解和实现类似的需求。
2.添加.NET引用System.Configuration;
3.命名空间:
using System.Data.SqlClient;
using System.Configuration;
4.代码如下:
int pageSize = 0; //每页显示行数
int nMax = 0; //总记录数
int pageCount = 0; //总页数=总记录数/每页显示行数
int pageCurrent = 0; //当前页号
int nCurrent = 0; //当前记录行
DataSet ds = new DataSet();
DataTable dt;
SqlDataAdapter sda;
private void Form1_Load(object sender, EventArgs e)
{
//Boolean allCheckBoxFalse = false;//判断复选框是否全部没有选中
string sqlstr = ConfigurationManager.ConnectionStrings["Connection String"].ConnectionString;
SqlConnection conn = new SqlConnection(sqlstr);
conn.Open();
try
{
dt = new DataTable();
sda = new SqlDataAdapter(@"select 字段1,字段2 from 表名 where 1=1 ",conn);
sda.Fill(dt); //如果查到了数据,才使控制分页按钮生效
if(dt.Rows.Count>0)
toolStripLabel4.Enabled = true;
toolStripLabel1.Enabled = true;
toolStripTextBox1.Enabled = true;
label2.Enabled = true;
label4.Enabled = true;
toolStripLabel2.Enabled = true;
toolStripLabel5.Enabled = true;
toolStripButton1.Enabled = true;
}
//如果没有查到数据,使控制分页按钮失效
else
{
toolStripLabel4.Enabled = false;//首页不可用
toolStripLabel1.Enabled = false;//上一页不可用
toolStripTextBox1.Enabled = false;//当前页不可用
label2.Enabled = false;//总页数不可用
label4.Enabled = false;
toolStripLabel2.Enabled = false;//下一页不可用
toolStripLabel5.Enabled = false;//尾页不可用
toolStripButton1.Enabled = false;//跳转不可用
}
dataGridView1.DataSource = dt;
InitDataSet();//开始分页
}
catch (Exception ee)
{
MessageBox.Show(ee.Message.ToString());
}
}
剩余5页未读,继续阅读
- 粉丝: 4
- 资源: 14
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 李兴华Java基础教程:从入门到精通
- U盘与硬盘启动安装教程:从菜鸟到专家
- C++面试宝典:动态内存管理与继承解析
- C++ STL源码深度解析:专家级剖析与关键技术
- C/C++调用DOS命令实战指南
- 神经网络补偿的多传感器航迹融合技术
- GIS中的大地坐标系与椭球体解析
- 海思Hi3515 H.264编解码处理器用户手册
- Oracle基础练习题与解答
- 谷歌地球3D建筑筛选新流程详解
- CFO与CIO携手:数据管理与企业增值的战略
- Eclipse IDE基础教程:从入门到精通
- Shell脚本专家宝典:全面学习与资源指南
- Tomcat安装指南:附带JDK配置步骤
- NA3003A电子水准仪数据格式解析与转换研究
- 自动化专业英语词汇精华:必备术语集锦