using System;
using System.Collections.Generic;
using System.Text;
namespace OT.Controls.DataPager
{
public partial class Pager
{
/////
protected virtual void OnPageChanging(PageChangingEventArgs e)
{
//pageChangeEventHandled = true;
PageChangingEventHandler handler = (PageChangingEventHandler)Events[EventPageChanging];
if (handler != null)
{
handler(this, e);
if (!e.Cancel || UrlPaging) //there's no way we can obtain the last value of the CurrentPageIndex in UrlPaging mode, so it doesn't make sense to cancel PageChanging event in UrlPaging mode
{
CurrentPageIndex = e.NewPageIndex;
OnPageChanged(EventArgs.Empty);
}
}
else
{
CurrentPageIndex = e.NewPageIndex;
OnPageChanged(EventArgs.Empty);
}
//pageChangeEventHandled = false;
}
/////
protected virtual void OnPageChanged(EventArgs e)
{
EventHandler handler = (EventHandler)Events[EventPageChanged];
if (handler != null)
handler(this, e);
}
/////
public virtual void GoToPage(int pageIndex)
{
OnPageChanging(new PageChangingEventArgs(pageIndex));
}
}
}