【发布时间】:2012-03-12 05:33:22
【问题描述】:
如标题。
所以我成功地将DataTable 放入我的CollectionView 使用:
ICollectionView _collectionView { get; set; }
public ICollectionView collectionView {......}
DataTable myDataTable= new DataTable();
myConnection.Open();
dbAdpater.Fill(myDataTable);
myConnection.Close();
var collectionList= (newLeadTable as IListSource).GetList();
this.collectionView = CollectionViewSource.GetDefaultView(collectionList);
我知道列表中的每个对象都是DataRowView,并且当我通过迭代数据进行测试时,我可以看到存储正确。
当我执行代码时,DataGrid 正确显示。
但是一旦我添加了过滤器:
this.collectionView.Filter = new Predicate<object>(
(obj) =>
{
return false; //Just for testing propose
}
);
当我执行代码时出现错误:
无法创建在程序集“TestWPF”中定义的“Window1”实例, 版本=1.0.0.0,文化=中性,PublicKeyToken=null'。异常有 被调用的目标抛出。标记文件中的错误 'TestWPF;component/Window1.xaml' 第 1 行位置 9。
然后输出:
“System.NotSupportedException”类型的第一次机会异常 发生在 PresentationFramework.dll 中
我还尝试存储将DataTable 转换为custom object 列表进行过滤,但工作正常。
所以我想知道我在使用DataTable 过滤时做错了什么?
【问题讨论】: