page.class
using System; using System.Collections.Generic; using System.Text; using System.Data; using System.Windows .Forms;
namespace pageClass { class Page {
public int pageIndex = 1; //用于存放页数 public DataTable objDataTable = null; private int pageRowNumber = 15;//分页的行数默认的为18 public int getPageRowNumber()//返回分页的行数 { return pageRowNumber; }
public void setDataTable(DataTable datattable) { this.objDataTable = datattable; } public void setpageNumber(string number)//设置分页的行数 { try { this.pageRowNumber =Convert.ToInt32(number); } catch (Exception ee) { MessageBox.Show(ee.Message.ToString(),"提示信息",MessageBoxButtons.OK,MessageBoxIcon.Warning); } } public void pageEnter(string pageNumber)//转到页数的方法,传过来的是一个文本框中的值 { try { pageIndex = Convert.ToInt32(pageNumber);//取得文本框中的值
pageLoad();//加裁页 } catch (Exception ee) { MessageBox.Show(ee.Message.ToString(),MessageBoxIcon.Warning); } } public DataTable pageLoad()//找页并加裁数据 { try {
//生成一个新的表
if (pageIndex <= 1)//为真时表示到了0页以下所以要回到第一页 { pageIndex = 1; } else if (pageIndex > objDataTable.Rows.Count / getPageRowNumber() + 1) { pageIndex = 1;//表示到了尽头也在回到第一页 } //真时停用上一页 //isEnabledPageUp(); //表示记录数除以10以后加1表示到了最后一页 真时停用下一页 //isEnabledPageDowm(); /**因为记录的开始是0所以要为页数-1 * 输入的页数为1时,应该得到的记录是0到19 * 输入的页数为2时,应该得到的记录是20到39 * 。。。。。。。。。。。。。。。。。。。 * * */ DataTable dt = new DataTable(); for (int k = 0; k < objDataTable.Columns.Count; k++)//objdatset.Tables[0].Columns.Count是总的行数从1开始 { dt.Columns.Add(this.objDataTable.Columns[k].ColumnName.ToString(),typeof(string)); } try { //给表中的每一列赋值 for (int i = (pageIndex - 1) * getPageRowNumber(); i <= (pageIndex - 1) * getPageRowNumber() + (getPageRowNumber() - 1); i++)//添加行 { DataRow dr = dt.NewRow(); for (int j = 0; j < objDataTable.Columns.Count; j++)//objdatset.Tables[0].Columns.Count是总的行数从1开始 { dr[j] = objDataTable.Rows[i][j];//添加列 } dt.Rows.Add(dr);//把得到的新行添加到新的表中 } return dt; } catch (Exception) { return dt; } } catch (Exception ee) { MessageBox.Show(ee.Message.ToString(),MessageBoxIcon.Warning); return null; } } public void pageUp()//上一页 { pageIndex = pageIndex - 1; pageLoad(); } public void pageDown()//下一页 { pageIndex = pageIndex + 1; pageLoad(); } public Boolean isEnabledPageDowm()//此为下一页 { //表示记录数除以pageNumber以后加1表示到了最后一页 真时停用下一页 if (pageIndex == objDataTable.Rows.Count / getPageRowNumber() + 1) { return false; } else { return true; } } public Boolean isEnabledPageUp()//此为上一页 { //真时停用上一页 if (pageIndex == 1) { return false; } else { return true; } } } } mYsql.class
using System; using System.Collections.Generic; using System.Text; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; namespace pageClass { class MySql { private SqlConnection objSqlConnection; private SqlDataAdapter objSqlAdapter; private DataSet dataset; //用于执行SQL语句的方法只而传值第一个对数的表名第二个是要执行的SQL语句 public DataSet exeSql(string tableName,string strSql) { //this.sqlConncetion(); try { objSqlConnection.Open();//打开连接 objSqlAdapter = new SqlDataAdapter(strSql,objSqlConnection); dataset = new DataSet(); objSqlAdapter.Fill(dataset,tableName);//把得到的值给DataGrid return dataset; } catch (Exception ee) { MessageBox.Show("/n语句执行失败请检测您的输入信息后再重试!!!发生异常的原因如下/n/n" + ee.Message.ToString(),MessageBoxButtons.YesNo,MessageBoxIcon.Warning); return null; } finally { objSqlConnection.Close(); } } public void sqlConnection() { try { objSqlConnection = new SqlConnection("Data Source=.;Initial Catalog=text;Integrated Security=True"); } catch (Exception) { MessageBox.Show("没有可用的数据库或连接不成功,请确保数据库已附加,请自行检测谢谢合作!!!"); } } } } Form1
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms;
namespace pageClass { public partial class Form1 : Form { public Form1() { InitializeComponent(); } DataSet objDataSet = null; MySql objMySql = new MySql(); Page objpage = new Page(); private void isEnabledButton()//判断是否停用相关Button { this.btnUP.Enabled = objpage.isEnabledPageUp(); this.btnDown.Enabled = objpage.isEnabledPageDowm(); } private void dataBinddgMyGrid()//用于给datagrid赋值的方法 { try { objpage.setDataTable(this.objDataSet.Tables[0]); dgMyGrid.DataSource = objpage.pageLoad();//把得到的值给DataGrid this.txtPageNumber.Text = objpage.pageIndex.ToString();//显示当前的页数 this.txtNumber.Text = objpage.getPageRowNumber().ToString (); isEnabledButton(); } catch (Exception ee) { MessageBox.Show(ee.Message.ToString(),MessageBoxIcon.Warning); } } //用于执行SQL语句的方法只而传值第一个对数的表名第二个是要执行的SQL语句 private void exeSql(string tableName,string strSql) { try { objDataSet = objMySql.exeSql(tableName,strSql); } catch (Exception ee) { MessageBox.Show(ee.Message.ToString(),MessageBoxIcon.Warning); } } private void Form1_Load(object sender,EventArgs e) { objMySql.sqlConnection();//初始代Conncetion对象 }
private void btnUP_Click(object sender,EventArgs e)//上一页 { objpage.pageUp(); dataBinddgMyGrid(); }
private void btnDown_Click(object sender,EventArgs e)//下一页 { objpage.pageDown(); dataBinddgMyGrid(); }
private void btnGO_Click(object sender,EventArgs e)//转到指定的页数 { objpage.pageEnter(this.txtPageNumber.Text .Trim ().ToString ()); dataBinddgMyGrid(); }
private void btnEnter_Click(object sender,EventArgs e)//设置分页的行数 { objpage.setpageNumber(this.txtNumber.Text .Trim ().ToString ()); dataBinddgMyGrid(); }
private void btnCode_Click(object sender,EventArgs e)//查询shop表 { string mySql = "select * from [shop]"; exeSql("shop",mySql); dataBinddgMyGrid(); }
private void btnStudent_Click(object sender,EventArgs e)//查询studentInfo表 { string mySql = "select * from studentInfo"; exeSql("studentInfo",mySql); dataBinddgMyGrid(); }
private void btnDorm_Click(object sender,EventArgs e)//查询dorm表 { string mySql = "select * from [dorm]"; exeSql("dorm",mySql); dataBinddgMyGrid(); } }} (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|