博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DataGrid绑定DataTable出错
阅读量:5043 次
发布时间:2019-06-12

本文共 2073 字,大约阅读时间需要 6 分钟。

直接用DataGrid.ItemSource = DataTable.DefaultView时会出现以下错误:

target element is 'TextBlock' (Name=''); target property is 'Text

 

需要用CollectionViewSource来做中间转换 .另外实时更新数据,所以不能把它做成StaticResource。

要想DataGrid render速度快,需要支持虚拟化,及设置列宽和行高。

private void BtnFirstPage_Click(object sender, RoutedEventArgs e)        {            this.mData.DataPageNum = 1;            this.SetDisData(this.mData.DataPageNum, this.mData.DataPageSize);        }        private void BtnPrevPage_Click(object sender, RoutedEventArgs e)        {            this.mData.DataPageNum--;            this.mData.DataPageNum = this.mData.DataPageNum > 1 ? this.mData.DataPageNum : 1;            this.SetDisData(this.mData.DataPageNum, this.mData.DataPageSize);        }        private void BtnNextPage_Click(object sender, RoutedEventArgs e)        {            int maxPageNum = (int)Math.Ceiling((double)this.mData.Times.Count / (double)this.mData.DataPageSize);            this.mData.DataPageNum++;            this.mData.DataPageNum = this.mData.DataPageNum > maxPageNum ? maxPageNum : this.mData.DataPageNum;            this.SetDisData(this.mData.DataPageNum, this.mData.DataPageSize);        }        private void BtnLastPage_Click(object sender, RoutedEventArgs e)        {            int maxPageNum = (int)Math.Ceiling((double)this.mData.Times.Count / (double)this.mData.DataPageSize);            this.mData.DataPageNum = maxPageNum;            this.SetDisData(this.mData.DataPageNum, this.mData.DataPageSize);        }                private void SetDisData(int pageNum, int pageSize)        {            DataRow row;            int startRow = (pageNum - 1) * pageSize;            int endRow = startRow + pageSize;            endRow = this.mData.Times.Count > endRow ? endRow : this.mData.Times.Count;            this.mDtData.Rows.Clear();            CollectionViewSource itemCollectionViewSource2 = new CollectionViewSource();            itemCollectionViewSource2.Source = this.mDtData;            DgdData.DataContext = itemCollectionViewSource2;        }

 

转载于:https://www.cnblogs.com/xpvincent/p/9488855.html

你可能感兴趣的文章
Cocos2d-x3.0 文件处理
查看>>
全面整理的C++面试题
查看>>
Web前端从入门到精通-9 css简介——盒模型1
查看>>
Activity和Fragment生命周期对比
查看>>
OAuth和OpenID的区别
查看>>
android 分辨率自适应
查看>>
查找 EXC_BAD_ACCESS 问题根源的方法
查看>>
国外媒体推荐的5款当地Passbook通行证制作工具
查看>>
日常报错
查看>>
list-style-type -- 定义列表样式
查看>>
hibernate生成表时,有的表可以生成,有的却不可以 2014-03-21 21:28 244人阅读 ...
查看>>
mysql-1045(28000)错误
查看>>
Ubuntu 编译出现 ISO C++ 2011 不支持的解决办法
查看>>
1.jstl c 标签实现判断功能
查看>>
Linux 常用命令——cat, tac, nl, more, less, head, tail, od
查看>>
超详细的Guava RateLimiter限流原理解析
查看>>
VueJS ElementUI el-table 的 formatter 和 scope template 不能同时存在
查看>>
Halcon一日一练:图像拼接技术
查看>>
Swift - RotateView
查看>>
iOS设计模式 - 中介者
查看>>