• WPF listbox分页


            List<ListBoxItem> llb;//符合条件像的listbox数据集合
          public static List<ModelDataBase> datalist = new List<ModelDataBase>();//总的数据源
          int pageIndex = 1;//当前页
          int pageSize = 16;//一页最大容量
          int totalPage = 0;//总页数
    
          public void TakePage()
            {
                tbindex.Text = pageIndex.ToString();
                listBox.ItemsSource = llb.Skip((pageIndex - 1) * pageSize).Take(pageSize).ToList();
            }
    
    //首页
          private void btnFirst_Click(object sender, RoutedEventArgs e)
            {
                pageIndex = 1;
                TakePage();
            }
    
            //尾页
          private void btnLast_Click(object sender, RoutedEventArgs e)
            {
                pageIndex = totalPage;
                TakePage();
            }
    
            //上一页
          private void btnPrev_Click(object sender, RoutedEventArgs e)
            {
                if (pageIndex > 1)
                {
                    pageIndex -= 1; TakePage();
                }
            }
    
            //下一页
          private void btnNext_Click(object sender, RoutedEventArgs e)
            {
                if (pageIndex < totalPage)
                {
                    pageIndex += 1;
                    TakePage();
                }
            }
    
    public List<ListBoxItem> BoundData(int _pageIndex, int _pageSize, string strString,string sign)
            {
                llb = new List<ListBoxItem>();
                List<ModelDataBase> listmodel = null;
                if (sign.Equals("1"))
                {
                    listmodel = datalist.FindAll(item => (int)item._ParentID == Convert.ToInt64(strString));
                }
                else if (sign.Equals("0"))
                {
                    listmodel = datalist.Where(s => s._ModelName.Contains(strString)).ToList();
                }
                else
                {
                    listmodel = datalist.Where(s => s._ModelName == strString).ToList();
                }
                foreach (ModelDataBase item in listmodel)
                {
                    ListBoxItem lbi = new ListBoxItem();
                    lbi.HorizontalContentAlignment = System.Windows.HorizontalAlignment.Center;
                    StackPanel sp = new StackPanel();
                    Image img = new Image();
                    string url = item._ModelURL;
                    img.Source = new BitmapImage(new Uri(@url, UriKind.Relative));
                    System.Windows.Controls.Label lable = new System.Windows.Controls.Label();
                    lable.Content = item._ModelName;
                    sp.Children.Add(img);
                    sp.Children.Add(lable);
                    sp.Tag = item._MidelRemark;
                    lbi.Content = sp;
                    lbi.MouseDoubleClick += Lbi_MouseDoubleClick;
                    llb.Add(lbi);
                }
                //初始化分页元素
                pageIndex = 1;
                tbindex.Text = pageIndex.ToString();
                int count = listmodel.Count;//总数据条数
                if (count % pageSize == 0)
                {
                    totalPage = count / pageSize;
                }
                else
                {
                    totalPage = count / pageSize + 1;
                }
                tbmax.Text = totalPage.ToString();
                DisableClick(true);
                return llb.Skip(0).Take(pageSize).ToList();
            }
    
  • 相关阅读:
    面试题: !=!=未看12 略多 sql语句练习 非常 有用
    面试题--阿里
    LeetCode--Count Primes
    (转载)协方差的意义
    LeetCode--Isomorphic Strings
    LeetCode--Reverse Linked List(Java)
    JDBC连接数据库的过程
    (转载)Java中如何遍历Map对象的4种方法
    Ubuntu下Eclipse中运行Hadoop程序的参数问题
    Hadoop上配置Hbase数据库
  • 原文地址:https://www.cnblogs.com/chendongbky/p/6478262.html
Copyright © 2020-2023  润新知