添加Xamarin app一个搜索栏

时间:2017-03-23 13:19:44

标签: sqlite search xamarin

我制作了一个简单的Xamarin Cross平台SQLite应用程序,可以插入,更新,删除列表视图中的数据。我想添加一个搜索栏。在this教程之后,我在HomePage.xaml上添加了这个

  1. 现在,如果我的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 中写什么?

1 个答案:

答案 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);
        }