WPF中datagrid分页

2024-09-03 13:48
文章标签 分页 wpf datagrid

本文主要是介绍WPF中datagrid分页,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

namespace WpfApplication1
{/// <summary>/// 枚举类型/// </summary>public enum sex{男,女};public class company{public string companyname;public string name;public string sex;public int age;public string job;}/// <summary>/// MainWindow.xaml 的交互逻辑/// </summary>public partial class MainWindow : Window{List<company> ls_company = new List<company>();//用于分页public MainWindow(){InitializeComponent();DataGridBinding();}void DataGridBinding(){SqlConnection conn = new SqlConnection("data source=127.0.0.1;database=datagridtest;user id=sa;password=sa123456");SqlCommand com = new SqlCommand();com.Connection = conn;com.CommandText = "select * from company";DataSet ds = new DataSet();SqlDataAdapter sda = new SqlDataAdapter();sda.SelectCommand = com;try{sda.Fill(ds);//填充dataset}catch (Exception ex){MessageBox.Show(ex.Message);}finally{conn.Close();conn.Dispose();}//表示用于排序、筛选、搜索、编辑和导航的 DataTable 的可绑定数据的自定义视图。 //DataView 不存储数据,而是表示其对应的 DataTable 的已连接视图。 //对 DataView 的数据的更改将影响 DataTable。 对 DataTable 的数据的更改将影响与之关联的所有 DataViewforeach (DataRow m in ds.Tables[0].Rows){ls_company.Add(new company { companyname = m["companyname"].ToString(), name = m["name"].ToString(), sex = m["sex"].ToString(), age = int.Parse(m["age"].ToString()), job = m["job"].ToString() });}datagrid.ItemsSource = ds.Tables[0].DefaultView;//public DataView DefaultView { get; }}//number表示每个页面显示的记录数    currentSize表示当前显示页数  /// <summary>////// </summary>/// <param name="number">每页多少记录</param>/// <param name="currentSize">当前第几页</param>private void Binding(int number, int currentSize){List<company> ls_curent = new List<company>();int count = ls_company.Count;//多少条记录int totalpage = 0;//总页数int pageSize = int.Parse(textboxpage.Text);//总页数if (count % number == 0){pageSize = count / number;}else{pageSize = count / number + 1;}tbkTotal.Text = pageSize.ToString();tbkCurrentsize.Text = currentSize.ToString();ls_curent = ls_company.Take(number * currentSize).Skip(number * (currentSize - 1)).ToList();   //刷选第currentSize页要显示的记录集  datagrid.ItemsSource = ls_curent;        //重新绑定dataGrid1  }

要点:

1、用Linq从list泛型中选择,有take以及skip方法

2、先将全部数据转存到list中,不过这仅仅适用于总量很少的数据


这篇关于WPF中datagrid分页的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1133127

相关文章

Mybatis的分页实现方式

《Mybatis的分页实现方式》MyBatis的分页实现方式主要有以下几种,每种方式适用于不同的场景,且在性能、灵活性和代码侵入性上有所差异,对Mybatis的分页实现方式感兴趣的朋友一起看看吧... 目录​1. 原生 SQL 分页(物理分页)​​2. RowBounds 分页(逻辑分页)​​3. Page

如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)

《如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)》:本文主要介绍如何更改pycharm缓存路径和虚拟内存分页文件位置(c盘爆红)问题,具有很好的参考价值,希望对大家有所帮助,如有... 目录先在你打算存放的地方建四个文件夹更改这四个路径就可以修改默认虚拟内存分页js文件的位置接下来从高级-

使用WPF实现窗口抖动动画效果

《使用WPF实现窗口抖动动画效果》在用户界面设计中,适当的动画反馈可以提升用户体验,尤其是在错误提示、操作失败等场景下,窗口抖动作为一种常见且直观的视觉反馈方式,常用于提醒用户注意当前状态,本文将详细... 目录前言实现思路概述核心代码实现1、 获取目标窗口2、初始化基础位置值3、创建抖动动画4、动画完成后

MyBatis分页插件PageHelper深度解析与实践指南

《MyBatis分页插件PageHelper深度解析与实践指南》在数据库操作中,分页查询是最常见的需求之一,传统的分页方式通常有两种内存分页和SQL分页,MyBatis作为优秀的ORM框架,本身并未提... 目录1. 为什么需要分页插件?2. PageHelper简介3. PageHelper集成与配置3.

Mysql中深分页的五种常用方法整理

《Mysql中深分页的五种常用方法整理》在数据量非常大的情况下,深分页查询则变得很常见,这篇文章为大家整理了5个常用的方法,文中的示例代码讲解详细,大家可以根据自己的需求进行选择... 目录方案一:延迟关联 (Deferred Join)方案二:有序唯一键分页 (Cursor-based Paginatio

mybatis-plus分页无效问题解决

《mybatis-plus分页无效问题解决》本文主要介绍了mybatis-plus分页无效问题解决,原因是配置分页插件的版本问题,旧版本和新版本的MyBatis-Plus需要不同的分页配置,感兴趣的可... 昨天在做一www.chinasem.cn个新项目使用myBATis-plus分页一直失败,后来经过多方

一文教你使用Python实现本地分页

《一文教你使用Python实现本地分页》这篇文章主要为大家详细介绍了Python如何实现本地分页的算法,主要针对二级数据结构,文中的示例代码简洁易懂,有需要的小伙伴可以了解下... 在项目开发的过程中,遇到分页的第一页就展示大量的数据,导致前端列表加载展示的速度慢,所以需要在本地加入分页处理,把所有数据先放

Redis存储的列表分页和检索的实现方法

《Redis存储的列表分页和检索的实现方法》在Redis中,列表(List)是一种有序的数据结构,通常用于存储一系列元素,由于列表是有序的,可以通过索引来访问元素,因此可以很方便地实现分页和检索功能,... 目录一、Redis 列表的基本操作二、分页实现三、检索实现3.1 方法 1:客户端过滤3.2 方法

最好用的WPF加载动画功能

《最好用的WPF加载动画功能》当开发应用程序时,提供良好的用户体验(UX)是至关重要的,加载动画作为一种有效的沟通工具,它不仅能告知用户系统正在工作,还能够通过视觉上的吸引力来增强整体用户体验,本文给... 目录前言需求分析高级用法综合案例总结最后前言当开发应用程序时,提供良好的用户体验(UX)是至关重要

oracle分页和mysql分页

mysql 分页 --查前5 数据select * from table_name limit 0,5 select * from table_name limit 5 --limit关键字的用法:LIMIT [offset,] rows--offset指定要返回的第一行的偏移量,rows第二个指定返回行的最大数目。初始行的偏移量是0(不是1)。   oracle 分页 --查前1-9