我在初始化中使用db(每个LINQ)的数据填充ListView
,并使用ItemsSource
更新ListView
。然后我写了一些其他方法来过滤ListView
。
一切正常,因为我只同时使用一种滤镜方法
现在我想在同一ItemsSource
上同时使用两种或更多种方法。
例如:我想针对特定的状态过滤我的默认列表list1
(我们现在调用新列表list2
)。然后想要在list2
(使用其他过滤方法)中搜索比特定日期更旧的每个文件。但目前我只能过滤状态或日期。
问题:如何在不同的方法中使用ItemsSource
我startList()
的{{1}}?
Sub startList()
Dim defaultList = From test In container.view_test.Where(Function(v) v.StateID = 1)
lstvw_Overview.ItemsSource = defaultList.ToList
End Sub
Filtermethods:
Private Sub chkbx_Unfinished_UnChecked(sender As Object, e As RoutedEventArgs) Handles chkbx_Unfinished.Unchecked
Try
Dim uncheckedList = From test In container.view_test
lstvw_Overview.ItemsSource = uncheckedList.ToList // here
Catch ex As Exception
MessageBox.Show("Error at 'unchecking' the checkbox: " + vbNewLine + ex.ToString)
End Try
End Sub
Sub filternNachUnzustellbarMail()
Try
Dim comparestring As String = txtbx_1.Text
Dim filterUnzustellbarMail = From test In container.view_test
Where test.unzustellbarMail.Contains(comparestring)
lstvw_Overview.ItemsSource = filterUnzustellbarMail.ToList // here
Catch ex As Exception
MessageBox.Show("Error at ... " + vbNewLine + ex.ToString)
End Try
End Sub
答案 0 :(得分:0)
您应该尝试使用其他过滤器每次过滤原始数据源(您首先从数据库中获取)。 (其中Condition1 = value,Condition2 = value,然后使用新结果设置新列表的数据源。
Dim defaultList = From test In container.view_test.Where(Function(v) v.StateID = 1 and v.date<mydate)
List2.Overview.ItemsSource = defaultList.ToList