我正在構建Windows窗體應用程序,並且在許多這些窗體上我使用了鏈接到LinqToSql對象的BindingSource。我也有一個使用BindingSource的DataGridView。這工作非常好,所有的創建/編輯/更新工作。Windows窗體BindingSource到LinqToSql無法應用'Filter'屬性
然而,當我把一個字符串篩選屬性是這樣的:
VesID='ABC'
它過濾。是否有一個特殊的語法,我需要使過濾器與對象數據源一起工作?
我正在構建Windows窗體應用程序,並且在許多這些窗體上我使用了鏈接到LinqToSql對象的BindingSource。我也有一個使用BindingSource的DataGridView。這工作非常好,所有的創建/編輯/更新工作。Windows窗體BindingSource到LinqToSql無法應用'Filter'屬性
然而,當我把一個字符串篩選屬性是這樣的:
VesID='ABC'
它過濾。是否有一個特殊的語法,我需要使過濾器與對象數據源一起工作?
什麼是綁定來源的SupportsFiltering
?
我敢打賭它是false
,因爲LINQ不支持動態查詢。
爲什麼你要動態查詢呢? LINQ是所有類型安全,你真的應該使用其內置有Where
過濾:
var query = db.Customers.Where(x => x.VesID == "ABC");
grid.DataSource = query;
如果你真的做需要指定一個字符串過濾條件(這是很少的情況下),有看看兩個庫:PredicateBuilder和Dynamic LINQ。
果然! - 支持過濾是'虛假' - 沒有意識到這些屬性存在'...支持搜索,支持排序... - - 感謝提示 - 以及您的權利,堅持使用Ling進行過濾可能是明智的 –
我很好奇我自己。我從來沒有得到'BindingSource.Filter'正常工作。 – user807566