使用代码在CollectionVIewSource中选择特定记录

时间:2014-10-27 13:26:37

标签: c# wpf mvvm entity-framework-6

枝。我有一个明显高于我的简单问题。如何获得collectionViewSource以选择特定记录?

我试过这个:

private object Select_CommandExecute(object param)
{
    // Select * From Signups where Tag = '2';
    var select = context.signups.Where(s => s.tag == 2);
    return signupsViewSource.View.MoveCurrentTo(select);
}   

但它所做的一切都清楚所有领域。知道我是怎么做到的吗? 无论我传递的是什么号码,结果都是一样的。

1 个答案:

答案 0 :(得分:0)

我认为Filter正是您所寻找的。以下是使用Filter的示例代码。

IList<Employer> employers;
ICollectionView _employerView;
private string _filterString=string.Empty;
public Window1()
{
   InitializeComponent();
   employers = GetCustomers();
   _employerView = CollectionViewSource.GetDefaultView(employers);
   _employerView.Filter = EmployerFilter;
}

public bool EmployerFilter(object item)
{
   Employer employer = item as Employer;
   return employer.Name.ToLower().StartsWith(_filterString.ToLower());
}

public string FilterString
{
   get { return _filterString; }
   set{
       _filterString = value; 
       OnPropertyChanged("FilterString");
       _employerView.Refresh();
 }   
}

希望得到这个帮助。