Thread ID: |
Created: |
Updated: |
Platform: |
Replies: |
149538 | Nov 29,2019 07:33 AM UTC | Dec 6,2019 04:19 AM UTC | Xamarin.Forms | 10 |
![]() |
Tags: SfListView |
ViewModel.cs
private bool FilterContacts(object obj)
{
if (searchBar == null || searchBar.Text == null)
return true;
var taskInfo = obj as TaskInfo;
return (taskInfo.Title.ToLower().Contains(searchBar.Text.ToLower())
|| taskInfo.Description.ToLower().Contains(searchBar.Text.ToLower())); }
|
private void OnTextChanged(object obj)
{
var grid = (obj as Grid);
searchBar = grid.Children[1] as SearchBar;
var listview = grid.Children[2] as SfListView;
if (listview!=null && listview.DataSource != null)
{
listview.DataSource.Filter = FilterContacts;
listview.DataSource.RefreshFilter();
}
listview.RefreshView();
}
private bool FilterContacts(object obj)
{
if (searchBar == null || searchBar.Text == null)
return true;
var taskInfo = obj as TaskInfo;
return (taskInfo.Title.ToLower().Contains(searchBar.Text.ToLower())
|| taskInfo.Description.ToLower().Contains(searchBar.Text.ToLower()));
}
|
listView.DataSource.GroupDescriptors.Add(new GroupDescriptor()
{
PropertyName = "Tag",
KeySelector = (object obj1) =>
{
var item = (obj1 as TaskInfo);
return item.Tag[0].ToString();
}
});
|
ViewModel.cs
private void OnTextChanged(object obj)
{
var grid = (obj as Grid);
searchBar = grid.Children[1] as SearchBar;
var listview = grid.Children[2] as SfListView;
if (listview != null && listview.DataSource != null)
{
listview.DataSource.Filter = FilterContacts;
listview.DataSource.RefreshFilter();
}
listview.RefreshView();
}
private bool FilterContacts(object obj)
{
bool isFiltered=false;
if (searchBar == null || searchBar.Text == null)
return true;
var taskInfo = obj as TaskInfo; //Codes for customize filter based on 2 keys
string str = searchBar.Text;
char[] separator = { ',', ' ' };
String[] strlist = str.Split(separator);
foreach (String s in strlist)
{
if( (taskInfo.Title.ToLower().Contains(s) || taskInfo.Tag.ToLower().Contains(s)))
{
isFiltered = true;
}
}
return isFiltered;
}
|
This post will be permanently deleted. Are you sure you want to continue?
Sorry, An error occured while processing your request. Please try again later.
This page will automatically be redirected to the sign-in page in 10 seconds.