Как я могу добавить функцию поиска в ListView? - PullRequest
0 голосов
/ 21 июня 2020

У меня есть TextBox и ListView в форме. ListView подключен к базе данных MS SQL. Я хочу написать текст в TextBox и найти этот текст в ListView в одном из его столбцов.

Я добавил этот код в обработчик событий TextChanged TextBox. Что не так в этом коде?

Private Sub WyszukajUmowyNajmow()
    Dim conn As SqlConnection = New SqlConnection()
    Dim cmd As SqlCommand = New SqlCommand()
    Dim da As SqlDataAdapter = New SqlDataAdapter()
    Dim dt As DataTable = New DataTable()

    Try
        sql = "SELECT UN.NUMER_UMOWY, UN.DATA_UMOWY, RO.RODZAJ_NAJMU, CZ.WYSOKOSC_CZYNSZU_NETTO, CZ.CZYNSZ_WYRAZONY, CZ.ZAPLATA_CZYNSZU, 
              CZ.TERMIN_ZAPLATY, UN.DATA_OD, UN.DATA_DO, UN.WYSOKOSC_KAUCJI_NETTO, CHP.NR_FABRYCZNY, CHP.NR_REJESTRACYJNY 
              FROM N_UMOWY_NAJMOW AS UN
              INNER JOIN N_CZYNSZ AS CZ
              ON UN.ID_CZYNSZU = CZ.ID_CZYNSZU
              INNER JOIN N_CHARAKTERYSTYKA_POZ_POJAZDU AS CHP
              ON UN.ID_CHARAKTERYSTYKI_POJAZDU = CHP.ID_CHARAKTERYSTYKI_POJAZDU
              INNER JOIN N_RODZAJ_NAJMU AS RO
              ON UN.ID_RODZAJU_NAJMU = RO.ID_RODZAJU_NAJMU
              WHERE CHP.NR_FABRYCZNY LIKE ' % " & TextBox.Text & " % ' "

        connection()
        command = New SqlCommand(sql, con)
        DataReader = command.ExecuteReader()
        listaUmowNajmow.Items.Clear()

        Dim x As ListViewItem

        Do While DataReader.Read = True
            x = New ListViewItem(DataReader("NUMER_UMOWY").ToString)
            x.SubItems.Add(DataReader("DATA_UMOWY"))
            x.SubItems.Add(DataReader("RODZAJ_NAJMU").ToString)
            x.SubItems.Add(DataReader("WYSOKOSC_CZYNSZU_NETTO").ToString)
            x.SubItems.Add(DataReader("CZYNSZ_WYRAZONY").ToString)
            x.SubItems.Add(DataReader("ZAPLATA_CZYNSZU").ToString)
            x.SubItems.Add(DataReader("DATA_OD"))
            x.SubItems.Add(DataReader("DATA_DO"))
            x.SubItems.Add(DataReader("TERMIN_ZAPLATY").ToString)
            x.SubItems.Add(DataReader("NR_REJESTRACYJNY").ToString)
            x.SubItems.Add(DataReader("NR_FABRYCZNY").ToString)
            x.SubItems.Add(DataReader("WYSOKOSC_KAUCJI_NETTO").ToString)
            listaUmowNajmow.Items.Add(x)
        Loop
    Catch ex As Exception
        MsgBox(ex.Message)
    Finally
        command.Dispose()
        con.Close()
    End Try
End Sub

1 Ответ

0 голосов
/ 23 июня 2020

У меня нет ошибок при компиляции этого кода, но когда приложение запущено, я хочу писать в TextBox (событие TextBox_TextChanged), а затем в ListView я не вижу никаких элементов, но они должны быть там. При загрузке формы я вижу элементы ListView из базы данных MS SQL. Кто-нибудь знает, что не так с этим кодом?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...