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

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

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

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

<toolkit:DataGrid VirtualizingStackPanel.VirtualizationMode="Recycling"
VirtualizingStackPanel.IsVirtualizing="True"
EnableColumnVirtualization="True"
EnableRowVirtualization="True"
RowHeight="23"
ColumnWidth="100"
ScrollViewer.HorizontalScrollBarVisibility="Visible"
ScrollViewer.VerticalScrollBarVisibility="Visible"
Name="DgdData" Grid.Row="0" AutoGenerateColumns="True" DataContext="{Binding DataTableSource}" ItemsSource="{Binding}" />
 private void BtnFirstPage_Click(object sender, RoutedEventArgs e)
{
this.mData.DataPageNum = ;
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 > ? this.mData.DataPageNum : ;
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 - ) * 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; }

最新文章

  1. TFS 生成发布代理
  2. Spring.Net在Mvc4.0中应用的说明
  3. python的基础知识
  4. 精通jQuery选择器
  5. 炫酷的时钟--canvas初体验
  6. Mysql学习笔记(八)索引
  7. 在windows下创建一个Mongo服务
  8. OpenCV源码阅读(2)---matx.h---函数的内联实现
  9. 【转】为什么选择Spring Boot作为微服务的入门级微框架
  10. 结对编程之&lt;GoldPointGame&gt;
  11. filter()和find()的区别
  12. Java_重载与重写
  13. Java读取Excel并与SqlServer库中的数据比较
  14. C# 委托 事件
  15. 删除sslvpn用户
  16. js 下关于json的销毁和添加
  17. 关于访问asp.net网站时登录后的奇怪问题
  18. 2018.10.05 NOIP模拟 上升序列(状压dp)
  19. Linux学习---linux的svn的配置与安装
  20. Python常用函数--return 语句

热门文章

  1. jacoco + eclipse单元测试覆盖率
  2. Spring Boot如何使用Runner实现启动时调用?用法和原理都在这里
  3. Chrome开发者控制台操作教程
  4. Django认证系统auth认证
  5. 【Oracle】Linux7安装11g 86%报错:Error in invoking target &#39;agent nmhs&#39; of makefile
  6. adb devices unauthorized解决办法
  7. 【Arduino】Arduino接收字符串
  8. ELK 环境搭建2-Kibana
  9. java生成二维码并融合模板工具类
  10. Linux安装Tomcat-Nginx-FastDFS-Redis-Solr-集群——【第十三集之Redis的单机版搭建】