2011-08-01 32 views
2

我正在構建Windows窗體應用程序,並且在許多這些窗體上我使用了鏈接到LinqToSql對象的BindingSource。我也有一個使用BindingSource的DataGridView。這工作非常好,所有的創建/編輯/更新工作。Windows窗體BindingSource到LinqToSql無法應用'Filter'屬性

然而,當我把一個字符串篩選屬性是這樣的:

VesID='ABC' 

它過濾。是否有一個特殊的語法,我需要使過濾器與對象數據源一起工作?

+0

我很好奇我自己。我從來沒有得到'BindingSource.Filter'正常工作。 – user807566

回答

1

什麼是綁定來源的SupportsFiltering
我敢打賭它是false,因爲LINQ不支持動態查詢。

爲什麼你要動態查詢呢? LINQ是所有類型安全,你真的應該使用其內置有Where過濾:

var query = db.Customers.Where(x => x.VesID == "ABC"); 
grid.DataSource = query; 

如果你真的需要指定一個字符串過濾條件(這是很少的情況下),有看看兩個庫:PredicateBuilderDynamic LINQ

+0

果然! - 支持過濾是'虛假' - 沒有意識到這些屬性存在'...支持搜索,支持排序... - - 感謝提示 - 以及您的權利,堅持使用Ling進行過濾可能是明智的 –

相關問題