Csharp windowform bindingNavigator,bindingSource,DataGridView簡單分頁:首頁,上一頁,下一頁,末頁
2011-10-24 19:38
411 查看
/// <summary> /// 塗聚文 2011-10-24 (參考相關網絡和書藉資料) /// 締友計算機信息技術有限公司 ///C# Winform 簡單分頁: 首頁,上一頁,下一頁,末頁 /// </summary> public partial class FormDataGridViewPage : Form { /// <summary> /// 每页显示行数 /// </summary> int pageSize = 0; /// <summary> /// 总记录数 /// </summary> int nMax = 0; /// <summary> /// 页数=总记录数/每页显示行数 /// </summary> int pageCount = 0; /// <summary> /// 当前页号 /// </summary> int pageCurrent = 0; /// <summary> /// 当前记录行 /// </summary> int nCurrent = 0; DataSet ds = new DataSet(); DataTable dtInfo = new DataTable(); AdministrativeAreaListBLL administrativeAreaListBLL = new AdministrativeAreaListBLL(); AdministrativeAreaListInfo administrativeAreaListInfo = new AdministrativeAreaListInfo(); FormOperatingStringInfo formOperatingStringInfo = new FormOperatingStringInfo(); /// <summary> /// /// </summary> public FormDataGridViewPage() { InitializeComponent(); } /// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FormDataGridViewPage_Load(object sender, EventArgs e) { dtInfo = administrativeAreaListBLL.SelectAdministrativeAreaListDataTable(); InitDataSet(); } /// <summary> /// 用首页数据填充 /// 塗聚文 /// 締友計算機信息技術有限公司 ///C# Winform 簡單分頁: 首頁,上一頁,下一頁,末頁 /// </summary> private void InitDataSet() { pageSize = 20; //设置页面行数 nMax = dtInfo.Rows.Count; pageCount = (nMax / pageSize); //计算出总页数 if ((nMax % pageSize) > 0) pageCount++; pageCurrent = 1; //当前页数从1开始 nCurrent = 0; //当前记录数从0开始 LoadData(); } /// <summary> /// 用末頁數據填育 /// 塗聚文 /// 締友計算機信息技術有限公司 ///C# Winform 簡單分頁: 首頁,上一頁,下一頁,末頁 /// </summary> private void EndDataSetPage() { pageSize = 20; //设置页面行数 nMax = dtInfo.Rows.Count; pageCount = (nMax / pageSize); //计算出总页数 int rou = nMax % pageSize; if (rou > 0) { nCurrent = nMax - (nMax % pageSize);//不是正好整除页码,取余数页 pageCount++; } else { nCurrent = nMax - pageSize; } pageCurrent = pageCount; LoadData(); } /// <summary> /// 填充DataGridView /// 塗聚文 /// 締友計算機信息技術有限公司 ///C# Winform 簡單分頁: 首頁,上一頁,下一頁,末頁 /// </summary> 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; lblPageCount.Text = "/"+pageCount.ToString(); //共多少頁 txtCurrentPage.Text = Convert.ToString(pageCurrent);//當前頁 //从元数据源复制记录行 for (int i = nStartPos; i < nEndPos; i++) { dtTemp.ImportRow(dtInfo.Rows[i]); nCurrent++; } bindingSourceInfo.DataSource = dtTemp; bindingNavigatorInfo.BindingSource = bindingSourceInfo; DataGridViewInfo.DataSource = bindingSourceInfo; } /// <summary> /// 点击的选择页操作 /// 涂聚文 /// 締友計算機信息技術有限公司 ///C# Winform 簡單分頁: 首頁,上一頁,下一頁,末頁 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void bindingNavigatorInfo_ItemClicked(object sender, ToolStripItemClickedEventArgs e) { if (e.ClickedItem.Text == "关闭") { this.Close(); } if (e.ClickedItem.Text == "首页") { pageCurrent = 1; pageSize = 20; InitDataSet(); } if (e.ClickedItem.Text == "末页") { EndDataSetPage(); } if (e.ClickedItem.Text == "上一页") { pageCurrent--; if (pageCurrent <= 0) { MessageBox.Show("已经是第一页,请点击“下一页”查看!"); return; } else { nCurrent = pageSize * (pageCurrent - 1); } LoadData(); } if (e.ClickedItem.Text == "下一页") { pageCurrent++; if (pageCurrent > pageCount) { MessageBox.Show("已经是最后一页,请点击“上一页”查看!"); return; } else { nCurrent = pageSize * (pageCurrent - 1); } LoadData(); } } }
相关文章推荐
- Csharp windowform bindingNavigator,bindingSource,DataGridView簡單分頁:首頁,上一頁,下一頁,末頁
- Csharp windowform bindingNavigator,bindingSource,DataGridView簡單分頁:首頁,上一頁,下一頁,末頁
- DataSet, BindingSource, BindingNavigator Relationship
- Csharp windowform datagridview TO EXCEL OR FROM EXCEL DATA 保存datagridview所有數據
- Csharp windowform controls clear
- Csharp windowform controls clear
- 为WindowForm窗体添加皮肤(VS2005)
- javascript深入之window、screen、navigator对象
- oracle form builder :关于Form/block/canvas/window
- JS内部对象(window,navigator)
- windowform下 richTextBox+openFileDialog+saveFileDialog的使用方法 + 控件不获取焦点时自动关闭
- c# WindowForm练习项目主窗体设计
- ado.net c#.net2005 From第一讲(BindingDemoForm15)
- html5的FormData对象和input的file属性以及window.URL.createObjectURL( ) 方法
- Binding Entities and Their Children to Java JSP Form Elements in Spring Framework MVC
- 使用window.open传递form
- [转]C# FormWindow Class 公开调用方法 12种
- C# WinForm开发系列 - Form/Window
- Codeproject—JavaScript For Beginners(5) Form_ Window_ Frame
- Avant Window Navigator:Dock 类的窗口导航体式名目