public XPager() { InitializeComponent(); Init(); btnFirst.Click += ButtonClicked; btnPrevBlock.Click += ButtonClicked; btnPrev.Click += ButtonClicked; btnNext.Click += ButtonClicked; btnNextBlock.Click += ButtonClicked; btnLast.Click += ButtonClicked; lupPageSize.EditValueChanged += delegate(object sender, EventArgs e) { var lup = sender as XLookup; if ((int)lup.EditValue != mPageSize) { mPageNo = 1; mPageSize = (int)lup.EditValue; SetPaging(); PagingChanged.Invoke(sender, e); } }; spnPageNo.EditValueChanged += delegate(object sender, EventArgs e) { if ((int)spnPageNo.EditValue != mPageNo) { if (spnPageNo.EditValue.ToIntegerNullToZero() > spnTotalPages.EditValue.ToIntegerNullToZero()) { spnPageNo.EditValue = mPageNo; SetPaging(); } else { mPageNo = (int)spnPageNo.EditValue; SetPaging(); PagingChanged.Invoke(sender, e); } } }; }
private void ButtonClicked(object sender, EventArgs e) { if (((SimpleButton)sender).Name.Equals("btnFirst")) { if (mPageNo > 1) { mPageNo = 1; PagingChanged.Invoke(sender, e); } XPagerButtonClickEvent.Invoke(this, new XPagerButtonClickEventArgs(XPagerButtonType.First)); } else { if (((SimpleButton)sender).Name.Equals("btnPrevBlock")) { if (mPageNo > mBlockSize) { mPageNo = mPageNo - mBlockSize; PagingChanged.Invoke(sender, e); } XPagerButtonClickEvent.Invoke(this, new XPagerButtonClickEventArgs(XPagerButtonType.BlockPrevious)); } else { if (((SimpleButton)sender).Name.Equals("btnPrev")) { if (mPageNo > 1) { mPageNo--; PagingChanged.Invoke(sender, e); } XPagerButtonClickEvent.Invoke(this, new XPagerButtonClickEventArgs(XPagerButtonType.Previous)); } else { if (((SimpleButton)sender).Name.Equals("btnNext")) { if (mPageNo < mTotalPages) { mPageNo = mPageNo + 1; PagingChanged.Invoke(sender, e); } XPagerButtonClickEvent.Invoke(this, new XPagerButtonClickEventArgs(XPagerButtonType.Next)); } else { if (((SimpleButton)sender).Name.Equals("btnNextBlock")) { if (((int)((mPageNo - 1) / 10) + 1) < ((int)((mTotalPages - 1) / 10) + 1)) { if ((mPageNo + mBlockSize) < mTotalPages) { mPageNo = mPageNo + mBlockSize; } else { mPageNo = mTotalPages; } PagingChanged.Invoke(sender, e); } XPagerButtonClickEvent.Invoke(this, new XPagerButtonClickEventArgs(XPagerButtonType.BlockNext)); } else { if (((SimpleButton)sender).Name.Equals("btnLast")) { if (mPageNo < mTotalPages) { mPageNo = mTotalPages; PagingChanged.Invoke(this, e); } XPagerButtonClickEvent.Invoke(this, new XPagerButtonClickEventArgs(XPagerButtonType.Last)); } } } } } } }