110,499
社区成员
发帖
与我相关
我的任务
分享
using System;
using System.ComponentModel;
using System.Collections.Generic;
using System.Diagnostics;
using System.Text;
using System.Drawing;
using System.Windows.Forms;
namespace Uni.Component
{
public delegate void NPageChangedEventHandler(object sender, EventArgs e);
public partial class clsNavigaoter : BindingNavigator
{
private ToolStripButton bindingNavigatorQuery;
private ToolStripSeparator bindingNavigatorSeparator1;
private ToolStripButton bindingNavigatorFirstItem;
private ToolStripButton bindingNavigatorPreviousItem;
private ToolStripButton bindingNavigatorNextItem;
private ToolStripButton bindingNavigatorLastItem;
private ToolStripSeparator bindingNavigatorSeparator2;
public event NPageChangedEventHandler PageChanged;
private int _pageSize;
private int _pageCount;
private int _recordCount;
private int _currentPage;
public clsNavigaoter()
{
InitializeComponent();
GetBindingNavigatorItem();
this._pageSize = 10;
this._recordCount = 0;
this._currentPage = 1;//默認為第一頁
this.InitPageInfo();
}
public clsNavigaoter(int recordCount, int pageSize)
{
InitializeComponent();
GetBindingNavigatorItem();
this._pageSize = pageSize;
this._recordCount = recordCount;
this._currentPage = 1;
this.InitPageInfo();
}
protected virtual void OnPageChanged(EventArgs e)
{
if (PageChanged != null)
{
PageChanged(this, e);
}
}
/// <summary>
/// 設置或獲取每頁記錄數
/// </summary>
public int PageSize
{
set { this._pageSize = value; }
get { return this._pageSize; }
}
/// <summary>
/// 獲取記錄總頁數
/// </summary>
public int PageCount
{
get { return this._pageCount; }
}
/// <summary>
/// 獲取或設置記錄總數
/// </summary>
public int RecordCount
{
set { this._recordCount = value; }
get { return _recordCount; }
}
/// <summary>
/// 獲取或設置當前頁
/// </summary>
public int CurrentPage
{
set { this._currentPage = value; }
get { return this._currentPage; }
}
/// <summary>
/// 初始化分頁信息
/// </summary>
/// <param name="recordCount">每頁記錄數</param>
/// <param name="pageSize">總記錄數</param>
public void InitPageInfo(int recordCount, int pageSize)
{
this._recordCount = recordCount;
this._pageSize = pageSize;
this.InitPageInfo();
}
/// <summary>
/// 獲取分頁信息
/// </summary>
/// <param name="recordCount">總記錄數</param>
public void InitPageInfo(int recordCount)
{
this._recordCount = recordCount;
this.InitPageInfo();
}
/// <summary>
/// 獲取分頁信息
/// </summary>
public void InitPageInfo()
{
if (this._pageSize < 1)
this._pageSize = 10; //如果每页记录数不正确,即更改为10
if (this._recordCount < 0)
this._recordCount = 0; //如果记录总数不正确,即更改为0
//取得总页数
if (this._recordCount % this._pageSize == 0)
this._pageCount = this._recordCount / this._pageSize;
else
this._pageCount = this._recordCount / this._pageSize + 1;
//设置当前页
if (this._currentPage > this._pageCount)
this._currentPage = this._pageCount;
if (this._currentPage < 1)
this._currentPage = 1;
//this.txtCurrentPage.Text = this._currentPage.ToString();
//this.label1.Text = "/{" + this._pageCount + "}";
}
public void RefreshData(int page)
{
//this._currentPage = page;
//this.txtCurrentPage.Text = this._currentPage.ToString();
EventArgs e = new EventArgs();
OnPageChanged(e);
}
void bindingNavigatorLastItem_Click(object sender, EventArgs e)
{
if (this._pageCount > 0)
this.RefreshData(this._pageCount);
else
this.RefreshData(1);
}
void bindingNavigatorPreviousItem_Click(object sender, EventArgs e)
{
if (this._currentPage > 1)
this.RefreshData(this._currentPage - 1);
else
this.RefreshData(1);
}
void bindingNavigatorNextItem_Click(object sender, EventArgs e)
{
if (this._currentPage < this._pageCount)
this.RefreshData(this._currentPage + 1);
else if (this._pageCount < 1)
this.RefreshData(1);
else
this.RefreshData(this._pageCount);
}
void bindingNavigatorFirstItem_Click(object sender, EventArgs e)
{
this.RefreshData(1);
}
/// <summary>
/// 新增上頁,下頁
/// </summary>
private void GetBindingNavigatorItem()
{
this.Items.Clear();
bindingNavigatorQuery = new ToolStripButton();
bindingNavigatorQuery.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
bindingNavigatorQuery.Image = ((Image)(Properties.Resources.ResourceManager.GetObject("30.bmp")));
bindingNavigatorQuery.Name = "bindingNavigatorQuery";
bindingNavigatorQuery.RightToLeftAutoMirrorImage = true;
bindingNavigatorQuery.Size = new System.Drawing.Size(23, 22);
bindingNavigatorQuery.ToolTipText = "查詢";
bindingNavigatorSeparator1 = new ToolStripSeparator();
bindingNavigatorSeparator1.Name = "bindingNavigatorSeparator1";
bindingNavigatorSeparator1.Size = new System.Drawing.Size(6, 25);
bindingNavigatorFirstItem = new ToolStripButton();
bindingNavigatorFirstItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
bindingNavigatorFirstItem.Image = ((Image)(Properties.Resources.ResourceManager.GetObject("30.bmp")));
bindingNavigatorFirstItem.Name = "bindingNavigatorFirstItem";
bindingNavigatorFirstItem.RightToLeftAutoMirrorImage = true;
bindingNavigatorFirstItem.Size = new System.Drawing.Size(23, 22);
bindingNavigatorFirstItem.ToolTipText = "首頁";
bindingNavigatorFirstItem.Click += new EventHandler(bindingNavigatorFirstItem_Click);
bindingNavigatorPreviousItem = new ToolStripButton();
bindingNavigatorPreviousItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
bindingNavigatorPreviousItem.Image = (Image)Properties.Resources.ResourceManager.GetObject("28.bmp");
bindingNavigatorPreviousItem.Name = "bindingNavigatorPreviousItem";
bindingNavigatorPreviousItem.RightToLeftAutoMirrorImage = true;
bindingNavigatorPreviousItem.Size = new System.Drawing.Size(23, 22);
bindingNavigatorPreviousItem.ToolTipText = "上頁";
bindingNavigatorPreviousItem.Click += new EventHandler(bindingNavigatorPreviousItem_Click);
bindingNavigatorNextItem = new ToolStripButton();
bindingNavigatorNextItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
bindingNavigatorNextItem.Image = (Image)Properties.Resources.ResourceManager.GetObject("29.bmp");
bindingNavigatorNextItem.Name = "bindingNavigatorNextItem";
bindingNavigatorNextItem.RightToLeftAutoMirrorImage = true;
bindingNavigatorNextItem.Size = new System.Drawing.Size(23, 22);
bindingNavigatorNextItem.ToolTipText = "下頁";
bindingNavigatorNextItem.Click += new EventHandler(bindingNavigatorNextItem_Click);
bindingNavigatorLastItem = new ToolStripButton();
bindingNavigatorLastItem.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
bindingNavigatorLastItem.Image = (Image)Properties.Resources.ResourceManager.GetObject("31.bmp");
bindingNavigatorLastItem.Name = "bindingNavigatorLastItem";
bindingNavigatorLastItem.RightToLeftAutoMirrorImage = true;
bindingNavigatorLastItem.Size = new System.Drawing.Size(23, 22);
bindingNavigatorLastItem.ToolTipText = "末頁";
bindingNavigatorLastItem.Click += new EventHandler(bindingNavigatorLastItem_Click);
bindingNavigatorSeparator2 = new ToolStripSeparator();
bindingNavigatorSeparator2.Name = "bindingNavigatorSeparator2";
bindingNavigatorSeparator2.Size = new System.Drawing.Size(6, 25);
this.Items.AddRange(new System.Windows.Forms.ToolStripItem[] { bindingNavigatorQuery, bindingNavigatorSeparator1, bindingNavigatorFirstItem, bindingNavigatorPreviousItem, bindingNavigatorNextItem, bindingNavigatorLastItem, bindingNavigatorSeparator2 });
}
}
}
int recordCount = Convert.ToInt32(inv.GetInvmbTotalCount(dbName, searchSql).Tables[0].Rows[0][INVMBData.TOTALCOUNT_FIELD]);
//ds = item.GetDatasBy2(dbName, pageSplit1.PageSize, pageSplit1.CurrentPage, searchSql);
this.clsNavigaoter1.CurrentPage = 1;
this.clsNavigaoter1.InitPageInfo(recordCount, 10);
private void clsNavigaoter1_PageChanged(object sender, EventArgs e)
{
int m = clsNavigaoter1.CurrentPage;
ds = item.GetDatasBy2(dbName,clsNavigaoter1.PageSize, clsNavigaoter1.CurrentPage, searchSql);
this.bindingSource1.DataSource = ds.Tables[0];
this.clsDataGridView1.DataSource = bindingSource1;
this.tabControl1.SelectedIndex = 2;
}