Vb.net 根据用户输入的条件查找listview项

Vb.net 根据用户输入的条件查找listview项,vb.net,Vb.net,我有很多项目的列表视图,在我的列表视图中有一个名为Age的列。我想使用2个文本框来搜索特定年龄的项目。例如,我将在textbox1中输入值20和textbox2-30。它应该在列表视图中显示年龄为20、21、22等的项目,。。。。30. 您可以在集合中循环,获取项目值并进行评估。如果符合条件-将其添加到listview Dim min as integer = Integer.Parse(txtMin.Text) Dim max as integer = Integer.Parse(txtMa

我有很多项目的列表视图,在我的列表视图中有一个名为Age的列。我想使用2个文本框来搜索特定年龄的项目。例如,我将在
textbox1
中输入值20和
textbox2
-30。它应该在列表视图中显示年龄为20、21、22等的项目,。。。。30.

您可以在集合中循环,获取项目值并进行评估。如果符合条件-将其添加到listview

Dim min as integer = Integer.Parse(txtMin.Text)
Dim max as integer = Integer.Parse(txtMax.Text)
For Each person as PersonInfo in myPersonList
    If person.Age >= min AndAlso person.Age <= max Then
        myListview.Items.Add(. . . . . . )
    End If
Next

这将仅使用符合条件的项目填充列表

如果您有两个listview,一个显示年龄,另一个在最小和最大范围内显示所选年龄,您可以使用以下代码

Dim min As Integer = CInt(txtMin.Text)
Dim max As Integer = CInt(txtMax.Text)
For Each itm In CoursesList.Items
     If CInt(itm) > min And CInt(itm) < max Then
         CoursesList.Items.Add(itm)
     End If
Next
Dim min As Integer=CInt(txtMin.Text)
Dim max As Integer=CInt(txtMax.Text)
对于课程中的每个itm,请列出项目
如果CInt(itm)>最小值且CInt(itm)<最大值,则
课程列表。项目。添加(itm)
如果结束
下一个
Dim itemList As List(Of ListViewItem) ' -- your item database so to speak
' Add your items to it and not to list view
' Then, when button_click happens, use LINQ
myListview.Items.Clear()
itemList.Where(
    Function(item) 
        Dim age As Integer = Convert.ToInt32(item.[SubItems(..)].Text)
        Return (age >= min AndAlso age <= max)
    End Function).ToList().ForEach(Sub(item) myListview.Items.Add(Item))
Dim min As Integer = CInt(txtMin.Text)
Dim max As Integer = CInt(txtMax.Text)
For Each itm In CoursesList.Items
     If CInt(itm) > min And CInt(itm) < max Then
         CoursesList.Items.Add(itm)
     End If
Next