0

Good day to all.

I'm a VB.NET newbie.


How can I search, for example ID Number,
and want to highlight the listview item found in search
from my first form?

I'm using combobox from my second form to search.

Thanks.

3
Contributors
6
Replies
9
Views
6 Years
Discussion Span
Last Post by CityThrille
0

See if this helps.
1 ListView, 1 TextBox(for search value), 1 Button(to search)

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If Not ListView1.MultiSelect = False Then ListView1.MultiSelect = False '// disable MultiSelection of items.
        If TextBox1.Text = "" Then Exit Sub '// do not search on empty search value.
        For Each itm As ListViewItem In ListView1.Items '// loop thru all items.
            If itm.Text = TextBox1.Text Then '// check if itm.Text equals search value.
                itm.Selected = True '// select item.
                itm.EnsureVisible() '// if itm is not visible in ListView, make sure it is.
                ListView1.Select() '// select the ListView to show highlighted item.
                Exit For '// exit loop since itm found.
            End If
        Next
    End Sub

Or you can change the item's.BackColor if found.

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        If TextBox1.Text = "" Then Exit Sub '// do not search on empty search value.
        For Each itm As ListViewItem In ListView1.Items '// loop thru all items.
            If itm.Text = TextBox1.Text Then '// check if itm.Text equals search value.
                itm.BackColor = Color.GreenYellow   '// change item.BackColor if found.
                itm.EnsureVisible() '// if itm is not visible in ListView, make sure it is.
            Else
                itm.BackColor = ListView1.BackColor '// change all other items BackColor to ListView.BackColor.
            End If
        Next
    End Sub
0

Sir, i get the NullReference exception. I was using VBFixedString for my listview.

0

Sir I get NullReference Exception from the following:

(Clientform.Clienttable is my Listview from my first form, ClientForm.
I put the search code on the second form, InputForm. I have 1 textbox and a button, sir.)

Try
            If Not ClientForm.ClientTable.MultiSelect = False Then
            ClientForm.ClientTable.MultiSelect = False

            If searchbox.Text = "" Then Exit Sub
            For Each itm As ListViewItem In ClientForm.ClientTable.Items
                If itm.Text = searchbox.Text Then
                    itm.Selected = True
                    findlrecords()  '<--- the yellow highlighted line
                    itm.EnsureVisible()
                    ClientForm.ClientTable.Select()
                    Exit For
                End If
            Next
        Catch
            MsgBox(about, MsgBoxStyle.Exclamation)
        End Try
    End Sub

and sir, I have my VBFixed String and other details here:


For VBFixed String (Declared in my module):

Structure clients
        <VBFixedString(32)> Dim s1 As String
        <VBFixedString(32)> Dim s2 As String
        <VBFixedString(32)> Dim s3 As String
        <VBFixedString(32)> Dim s4 As String
        <VBFixedString(32)> Dim s5 As String
        <VBFixedString(32)> Dim s6 As String
        <VBFixedString(32)> Dim s7 As String
        <VBFixedString(32)> Dim s8 As String
        <VBFixedString(32)> Dim s9 As String
        <VBFixedString(32)> Dim s10 As String
        <VBFixedString(32)> Dim s11 As String
        <VBFixedString(32)> Dim s12 As String
        <VBFixedString(32)> Dim s13 As String
    End Structure

and my findrecords() (on my module too.):

Public Function findlrecords() As Integer
        Dim temp As clients, fn As Integer
        fn = FreeFile()
        FileOpen(fn, filename, OpenMode.Random, OpenAccess.Read, , Len(temp)) <--also the highlighted line.
        findlrecords = 1
        Do While Not EOF(fn)
            FileGet(fnum, temp)
            findlrecords = findlrecords + 1
        Loop
        FileClose(fnum)
    End Function

I added findlrecords() to search my listview using System.io (I use system.io namespace in module).

0

Seems like this new issue is not caused by the code I have provided, but by code in your Public Function findlrecords() As Integer .
You can add a Try/Catch statement in your Function for the time being and start a new thread for this new issue caused by your Function.

Glad I could help otherwise.

Edited by codeorder: typo

0

I will try to redefine and recheck my code sir,
and post a new thread if new errors were found as possible.

By the way, thank you for the help in Search, sir.

This question has already been answered. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.