Torna al Thread
Function SearchListViewItems(ByVal text As String, Optional ByVal CaseUnsensitive As Boolean = False, Optional ByVal colIndex As Integer = 0, Optional ByVal atStart As Boolean = False) As ListViewItem()
Dim options As System.Text.RegularExpressions.RegexOptions = IIf(CaseUnsensitive, System.Text.RegularExpressions.RegexOptions.IgnoreCase, System.Text.RegularExpressions.RegexOptions.None)
Dim items As New List(Of ListViewItem)
For Each li As ListViewItem In ListView1.Items
If atStart AndAlso System.Text.RegularExpressions.Regex.IsMatch(li.SubItems(colIndex).Text, "^(" & text & ").*", options) Then
items.Add(li)
ElseIf Not atStart AndAlso System.Text.RegularExpressions.Regex.IsMatch(li.SubItems(colIndex).Text, "(" & text & ")", options) Then
items.Add(li)
End If
Next
Return items.ToArray
End Function
Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
PopolaListView()
Dim items As ListViewItem()
'cerco nella seconda colonna i numeri di telefono che iniziano con 02
items = SearchListViewItems("02", CaseUnsensitive:=True, atStart:=True, colIndex:=1)
'se ne ho qualcuno, pulisco e aggiorno la listview
If items IsNot Nothing Then
ListView1.Items.Clear()
ListView1.Items.AddRange(items.ToArray)
End If
End Sub