WPF中datagrid分页
来源:互联网 发布:输出多个数组matlab 编辑:程序博客网 时间:2024/05/16 16:55
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 的数据的更改将影响与之关联的所有 DataView foreach (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中,不过这仅仅适用于总量很少的数据
0 0
- WPF中datagrid分页
- WPF分页DataGrid
- WPF DataGrid 分页自定义
- WPF分页DataGrid
- WPF分页DataGrid
- WPF:DataGrid分页实现
- wpf DataGrid的分页实现
- WPF DataGrid分页功能实现代码
- DataGrid中分页优化
- DataGrid中分页优化
- WPF DataGrid中嵌入Combobox
- WPF中DataGrid的使用
- WPF中DataGrid列数据格式
- wpf中DataGrid自定义验证
- WPF中DataGrid放置combobox
- WPF中DataGrid实现全选
- WPF中DataGrid的应用
- easyui中datagrid分页问题
- Android判断软键盘的状态和隐藏软键盘
- dwr与jquery~~~囧,select的取值
- hibernate的QBE和QBC
- Spring注解标签详解@Autowired @Qualifier等
- html文件选择器,选择类型
- WPF中datagrid分页
- 图形化界面 远程 linux
- maven scope含义的说明
- 士兵杀敌(四) 线段树
- 黑马程序-泛型高级应用-向上限定-向下限定
- linux下 C语言perror函数的作用
- SDUT_2015寒假集训_结构体练习_D-来淄博旅游
- Categories of performance problems
- 我的2014碎碎念—学习篇、实习篇、工作篇、生活篇