Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public partial class PagerUC : UserControl, INotifyPropertyChanged
- {
- int Page=1, PageSize = 10, TotPage;
- private IEnumerable<Object> _ItemsSource;
- private IEnumerable<Object> _CurrentView;
- public PagerUC()
- {
- InitializeComponent();
- }
- private void SetTotalPages()
- {
- TotPage = _ItemsSource.Count() / PageSize;
- if (_ItemsSource.Count() % PageSize > 0)
- {
- TotPage++;
- }
- LoadComboPageBox(TotPage);
- SetComboPageBox(Page);
- loadList(Page, PageSize);
- }
- private void loadList(int page, int pagesize)
- {
- CurrentView = _ItemsSource.Skip((page - 1) * pagesize).Take(pagesize);
- lblTotPage.Content = String.Format("/ {0}", TotPage);
- }
- private void SetComboPageBox(int Page)
- {
- cmbxPageNo.SelectedIndex = Page - 1;
- }
- private void LoadComboPageBox(int TotPage)
- {
- List<string> _pagelist = new List<string>();
- for (int i = 1; i <= TotPage; i++)
- {
- _pagelist.Add(i.ToString());
- }
- cmbxPageNo.ItemsSource = _pagelist;
- }
- private void btnNav_Click(object sender, RoutedEventArgs e)
- {
- Button btn = (Button)sender;
- switch (btn.Tag.ToString())
- {
- case Paging.First: Page = 1;
- break;
- case Paging.Next: if (Page < TotPage) Page++;
- break;
- case Paging.Previous: if (Page > 1) Page--;
- break;
- case Paging.Last: Page = TotPage;
- break;
- }
- SetComboPageBox(Page);
- loadList(Page, PageSize);
- }
- public IEnumerable<Object> ItemsSource
- {
- get { return _ItemsSource; }
- set
- {
- _ItemsSource = value;
- SetTotalPages();
- }
- }
- public IEnumerable<Object> CurrentView
- {
- get { return _CurrentView; }
- set
- {
- _CurrentView = value;
- if (PropertyChanged != null)
- PropertyChanged(this, new PropertyChangedEventArgs("CurrentView"));
- }
- }
- #region INotifyPropertyChanged Members
- public event PropertyChangedEventHandler PropertyChanged;
- #endregion
- private void cmbxPageNo_SelectionChanged(object sender, SelectionChangedEventArgs e)
- {
- int _tpage = Page;
- if (cmbxPageNo.SelectedItem!=null)
- {
- Page = Convert.ToInt16(cmbxPageNo.SelectedItem.ToString());
- if (_tpage != Page)
- {
- loadList(Page, PageSize);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement