簡體   English   中英

使謂詞datagridview過濾不區分大小寫 c#

[英]Make predicate datagridview filtering case insensitive c#

我發現這篇關於在數據網格中過濾的好帖子( 在 WPF 中過濾一個 DataGrid ),到目前為止它運行良好。 但我對此有一個小問題。 它區分大小寫。 由於我不熟悉“謂詞”,因此我需要您的幫助。

我有我的列表 (allProductRows),其中包含 model "ProductRows" [ID, artNr, ProductName]

例如:[2,123,“軟件 Alpha”]

我的搜索查詢在這里:

private void searchBox_TextChanged(object sender, TextChangedEventArgs e)
{
    filterDataGrid(tb_searchBox.Text);
}


/// <summary>
/// Filter DataGrid to specific Term (atm Case Sensitive)
/// </summary>
/// <param name="searchTerm">SearchTerm String</param>
private void filterDataGrid(string searchTerm)
{
    var _itemSourceList = new CollectionViewSource() { Source = allProductRows };
    ICollectionView Itemlist = _itemSourceList.View;
    var myFilter = new Predicate<object>(item => ((ProductRow)item).ProductName.Contains(searchTerm));
    Itemlist.Filter = myFilter;
    dg_products.ItemsSource = Itemlist;
}

感謝@Wiimax提供上面的代碼

(為什么它在一個單獨的空白中,是由於其他地方的其他執行)

有了這個 state,我輸入到文本框中的所有內容都會被正確過濾,但它區分大小寫。

我會假設(無法測試 C#),它就像將.ToLower()添加到集合項字符串和搜索字符串一樣簡單。 在這里,它應用於代碼中的一行:

var myFilter = new Predicate<object>(item => ((ProductRow)item).ProductName.ToLower().Contains(searchTerm.ToLower()));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM