我制作了一个简单的Xamarin Cross平台SQLite应用程序,可以插入,更新,删除列表视图中的数据。我想添加一个搜索栏。在this教程之后,我在HomePage.xaml上添加了这个
现在,如果我的listview的源是一个列表,就像在教程中我必须在HomePage.xaml.cs中写这个
private void mySearchBar_ButtonPressed(object sender, EventArgs e)
{
string searchText = mySearchBar.Text;
myListView.ItemsSource=ListViewsListSource.Where(name=>name.Contains(searchText ));
}
但我定义了我的listview的源代码。
using (var dataaccess= new DataAccess())
{
listaListView.ItemsSource = dataaccess.GetEmployers();
}
GetEmployers 在DataAccess中定义
public List<Employer> GetEmployers()
{
return connection.Table<Employer>().OrderBy(c => c.Lastname).ToList();
}
现在我应该在 mySearchBar_ButtonPressed 中写什么?
答案 0 :(得分:1)
有很多不同的方法来解决这个问题。按照您自己的示例,您可以将Search方法添加到DataAccess类
public List<Employer> SearchEmployers(string key)
{
return connection.Table<Employer>().Where(e => e.Lastname.Contains(key) || e.FirstName.Contains(key)).OrderBy(c => c.Lastname).ToList();
}
private void mySearchBar_ButtonPressed(object sender, EventArgs e)
{
string searchText = mySearchBar.Text;
listaListView.ItemsSource = dataaccess.SearchEmployers(searchText);
}