DataGrid绑定DataTable出错
直接用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; }
DataGrid绑定DataTable出错的更多相关文章
- wpf之DataGrid绑定DataTable,其中DataGridComboBoxColumn双向绑定枚举enum
百度了快一天,没结果,除了几个原创的,都是复制粘贴的内容. 不想用别的笨办法,于是脑洞大开,想出了我的办法. 首先是前台代码,与网上的比较类似: xmlns:jz="clr-namespac ...
- WPF的DataGrid绑定ItemsSource后第一次加载数据有个别列移位的解决办法
最近用WPF的DataGrid的时候,发现一个很弱智的问题,DataGrid的ItemsSource是绑定了一个属性: 然后取数给这个集合赋值的时候,第一次赋值,就会出现列移位 起初还以为是显卡的问题 ...
- VS2010 MFC DataGrid绑定实例
VS2010环境下MFC使用DataGrid绑定数据源 参考:http://blog.csdn.net/fddqfddq/article/details/7874706 详细介绍如何在MFC中使用Da ...
- dataGrid转换dataTable
#region dataGrid转换dataTable /// <summary> /// dataGrid转换dataTable /// </summary> ...
- WPF DataGrid 绑定DataSet数据 自动生成行号
1.绑定数据:dataGrid1.ItemsSource = dataSet.Tables[0].DefaultView; 注意:在创建DataGrid 时可以通过AutoGenerateColumn ...
- DataSource绑定DataTable.Select()显示system.data.DataRow问题解决的方法
有时候我们须要在控件中绑定DataTable中设定条件过滤后的数据,此时,在winForm环境中,一些控件不能正确绑定并显示数据内容.这是由于DataTable.Select()返回的是DataRow ...
- WPF DataGrid绑定一个组合列
WPF DataGrid绑定一个组合列 前台: <Page.Resources> <local:InfoConverter x:Key="converter& ...
- WPF DataGrid 绑定行双击行命令
WPF DataGrid 绑定行双击行命令 <DataGrid ...> <DataGrid.InputBindings> <MouseBinding MouseActi ...
- easyUI之datagrid绑定后端返回数据的两种方式
先来看一下某一位大佬留下的easyUI的API对datagrid绑定数据的两种方式的介绍. 虽然精简,但是,很具有“师傅领进门,修行靠个人”的精神,先发自内心的赞一个. 但是,很多人和小编一样,第一次 ...
随机推荐
- Web Penetration Testing w3af fierce
1.启动wsaf工具,设置载入插件(攻击模型的插件),可以设置默认的攻击模型,也可以添加自己的plug. 2.在侦查的时候渗透邮箱需要知道,云行邮箱服务的托管服务器是什么类型,在之前的博客中我已近两提 ...
- cf1108E2 线段树类似扫描线
/* 有点像扫描线 思路:从左到右枚举每个点,枚举到点i时,把所有以i为起点的区间的影响删去 再加上以i-1为结尾的区间的影响 */ #include<bits/stdc++.h> usi ...
- Jumpserver里常用的sudo权限控制模板
ALL,!/bin/bash,!/bin/tcsh,!/bin/su,!/usr/bin/passwd,!/usr/bin/passwd root,!/bin/vim /etc/sudoers,!/u ...
- ajax请求数据时什么时候用GET,什么时候用POST
GET的目的就如同其名字一样是用于获取信息的.它旨在显示出页面上你要阅读的信息.浏览器会缓冲GET请求的执行结果,如果同样的GET请求再次发出,浏览器就会显示缓冲的结果而不是重新运行整个请求.重新请求 ...
- AI-URL注册器
官方文档地址:https://www.django-rest-framework.org/tutorial/quickstart/#serializers #url生成器生成四个url,就可以访问关于 ...
- C和C++ 中的const
C++中的const正常情况下是看成编译期的常量,编译器并不为const分配空间,只是在编译的时候将期值保存在名字表中,并在适当的时候折合在代码中.所以,以下代码: #include <iost ...
- 关于springboot整合配置pagehelper插件的方法
一,java代码配置法 这种方法个人感觉比较繁琐不是很推荐,而且也不怎么符合springboot的理念,但是胜在也能够用,所以就列起来,万一以后接手的代码是用这种方式的也方便自己维护. 首先引入jar ...
- tensorflow:验证码的识别(下)
上两篇详细的说明了验证码的识别,不过我们采用的是方法二,下面采用方法一.注意和方法二的区别. 验证码识别方法一: 把标签转为向量,向量长度为40.(4位数字验证码) 验证码的生成和tf.record的 ...
- StackService.Redis 应用
如今StackService.Redis已经转向商业版本.4.0以下的低版本依然免费和开源. 吴双,Redis系列命令拾遗分享 http://www.cnblogs.com/tdws/tag/NoSq ...
- Ubuntu下VS Code 字体设置 + 标签匹配、括号匹配插件
Ubuntu下比较好看的字体有: Courier NewSource Code ProWenQuanYi Micro HeiWenQuanYi Micro Hei MonoUbuntuDroid Sa ...