我一直在搜索网站和互联网,试图找到解决方案,但我找不到它。
我使用Microsoft提供的AlphaKeyGroup示例订购了我的商品。但是,用户将在顶部有一个搜索框来过滤此列表,我无法了解如何进行此过滤。
MS说
private void getListItems()
{
var alphaKeyGroup = AlphaKeyGroup<Stores>.CreateGroups(
Database_Controller.getStoreValues(), // basic list of items
(Stores s) => { return s.Name; }, // the property to sort
true); // order the items
// returns type List<AlphaKeyGroup<SampleItem>>
ListViewCollectionSource.Source = alphaKeyGroup;
}
所以我尝试了这两种方式
var alphaKeyGroup = AlphaKeyGroup<Stores>.CreateGroups(Database_Controller.getStoreValues(), (Stores s) => s.Name, true).Where(s => Name.Contains(searchKeyword.Text));
var alphaKeyGroup = AlphaKeyGroup<Stores>.CreateGroups(Database_Controller.getStoreValues(), (Stores s) => { return s.Name.Where(s.Name.Contains(searchKeyword.Text)) ; },true);
第一个没有给ListView带来任何东西,第二个没有编译。
我做错了什么?
答案 0 :(得分:0)
我找到了一个关于此问题和IT工作的解决方法!!!
(无论如何,你们告诉我这是否是最好的方法)
private void storeTesting(object sender, TextChangedEventArgs e)
{
List<Stores> storeTest = new List<Stores>();
try
{
if (searchKeyword.Text != "")
{
Debug.WriteLine(searchKeyword.Text);
foreach (Stores storeToShow in storesSource)
{
if (storeToShow.Name.Contains(searchKeyword.Text))
{
storeTest.Add(storeToShow);
}
}
}
else
{
Debug.WriteLine(searchKeyword.Text + "the text is null");
}
}
catch (Exception ex)
{
Debug.WriteLine(ex.ToString());
}
var alphaKeyGroup = AlphaKeyGroup<Stores>.CreateGroups(storeTest, (Stores s) => { return s.Name; }, true);
ListViewCollectionSource.Source = alphaKeyGroup;
}