【发布时间】:2011-01-08 18:55:29
【问题描述】:
通过LINQ to SQL将WPF Toolkit DataGrid绑定到SQL数据库时,如何正确设置绑定源:
应该是一些通用集合,由 LINQ to SQL 查询填充和更新,还是有可能直接将 DataGrid 与 LINQ to SQL 查询连接?
【问题讨论】:
标签: wpf linq-to-sql generics data-binding datagrid
通过LINQ to SQL将WPF Toolkit DataGrid绑定到SQL数据库时,如何正确设置绑定源:
应该是一些通用集合,由 LINQ to SQL 查询填充和更新,还是有可能直接将 DataGrid 与 LINQ to SQL 查询连接?
【问题讨论】:
标签: wpf linq-to-sql generics data-binding datagrid
与往常一样,给猫剥皮的方法不止一种。但是,我更喜欢创建 LINQ to SQL 查询并使用 .ToList() 将列表发送到 ObservableCollection,这样您就可以监控数据的更改并在数据脏时更新 SQL Server 数据库。换句话说,它看起来像这样:
// Create an instance of your LINQ to SQL DataContext
LINQDataContext dc = new LINQDataContext();
var productQuery = from p in dc.Products select p;
// Create an ObservableCollection to hold your data and bind the DataGrid to this collection
public ObservableCollection<Product> Products {get; set;}
Products = new ObservableCollection<Product>(productQuery.ToList());
当然,如果您需要执行过滤器、分组或排序,我会将查询发送到 ListCollectionView。看起来像这样:
public ListCollectionView Products {get; set;}
Products = new ListCollectionView(productQuery.ToList());
希望有帮助!
【讨论】: