2016-06-24 3 views
0

現在、エラーが発生しており、どのように回避できるかわかりません。 私は現在、フィルタリングしようとしているICollectionViewを持っています。フィルタ複数のフィルタを持つICollectionView

ユーザーが

私はそうのように、複数のフィルタを試してみてください
collectionView.Filter = Function(m) DirectCast(m, user).firstname().Contains(txtFilter.Text() _ 
) 

...(Tの)私のリストである

 collectionView.Filter = Function(m) DirectCast(m, user).accountname.ToLower().Contains(txtFilter.Text.ToLower() _ 
        OrElse DirectCast(m, user).firstname.ToLower().Contains(txtFilter.Text.ToLower() _ 
        OrElse DirectCast(m, user).lastname.ToLower().Contains(txtFilter.Text.ToLower() _ 
        OrElse DirectCast(m, user).isenabled.ToLower.ToString.Contains(txtFilter.Text.ToLower() _ 
        OrElse DirectCast(m, user).description.ToLower().Contains(txtFilter.Text.ToLower() _ 
        OrElse DirectCast(m, user).lastlogontimestamp.ToLower().Contains(txtFilter.Text.ToLower() _ 
        OrElse DirectCast(m, user).whencreated.ToLower().Contains(txtFilter.Text.ToLower() _ 
        OrElse DirectCast(m, user).whenchanged.ToLower().Contains(txtFilter.Text.ToLower() _ 
        OrElse DirectCast(m, user).oulocation.ToLower().Contains(txtFilter.Text.ToLower() _ 
        OrElse DirectCast(m, user).co.ToLower().Contains(txtFilter.Text.ToLower() _ 
        OrElse DirectCast(m, user).l.ToLower().Contains(txtFilter.Text.ToLower() _ 
        OrElse DirectCast(m, user).state.ToLower().Contains(txtFilter.Text.ToLower() _ 
     )))))))))))) 

私は例外を取得し、私は理由を理解していない

私は、LINQのを使用して、これを修正しました...

Conversion from string to type 'Boolean' is not valid. 

、それは少し遅くなりますが、それは動作します。

result = ocList.Where(Function(w) w.accountname.Contains(txtFilter.Text) _ 
Or w.firstname.Contains(txtFilter.Text) _ 
Or w.lastname.Contains(txtFilter.Text) _ 
Or w.isenabled.Contains(txtFilter.Text) _ 
Or w.description.Contains(txtFilter.Text) _ 
Or w.lastlogontimestamp.Contains(txtFilter.Text) _ 
Or w.whencreated.Contains(txtFilter.Text) _ 
Or w.whenchanged.Contains(txtFilter.Text) _ 
Or w.oulocation.Contains(txtFilter.Text) _ 
Or w.co.Contains(txtFilter.Text) _ 
Or w.l.Contains(txtFilter.Text) _ 
Or w.state.Contains(txtFilter.Text)) 
+1

'Contains(whatever.Text.ToLower()'へのすべての呼び出しに欠けているclose parenを追加してみてください。 –

答えて

0

最後から最後まで、parenを変更して問題を解決しました。ありがとう

関連する問題