listview项目不会被清除 [英] listview items do not get cleared

查看:65
本文介绍了listview项目不会被清除的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问题是当我第二次点击搜索按钮时,列表视图不会清除。



The problem is that the listview does not clear when i click the search button a second time.

Private Sub searchBtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles searchBtn.Click
        lvw.Items.Clear()
       
        If RadioButton1.Checked = False And RadioButton2.Checked = False And RadioButton3.Checked = False Then
            MsgBox("Please select at least one search criteria")
            Exit Sub
        End If

        If RadioButton1.Checked = True Then choice = 1
        If RadioButton2.Checked = True Then choice = 2
        If RadioButton3.Checked = True Then choice = 3

        Select Case choice
            Case 1

                If srcTxt.Text = "" Then
                    MsgBox(" Please enter a name")
                    Exit Sub
                Else
                    sqlsearch = "Select  student_slno,student_fullname, student_dob, student_branch, student_scholarship from Students where  student_fullname like @searchitem "
                    Dim da As New SqlDataAdapter(sqlsearch, con)
                    da.SelectCommand.Parameters.AddWithValue("@searchitem", "%" + Me.srcTxt.Text.Trim + "%")
                     da.Fill(ds)
                    con.Close()
                    If ds.Tables(0).Rows.Count = 0 Then
                        MessageBox.Show("No record exists, try again", "SORRY!", MessageBoxButtons.OK)
                    Else
                        lvw.Items.Clear()

                        populate_lvw()
                    End If
                    da.Dispose()
                    ds.Dispose()

                End If

            Case 2
                sqlsearch = "Select student_slno,student_fullname, student_dob, student_branch, student_scholarship from Students where  student_dob =@dob"
                Dim da As New SqlDataAdapter(sqlsearch, con)
                da.SelectCommand.Parameters.AddWithValue("@dob", DateTimePicker1.Value.Date)
                da.Fill(ds)
                 con.Close()
                If ds.Tables(0).Rows.Count = 0 Then
                    MessageBox.Show("No record exists, try again", "SORRY!", MessageBoxButtons.OK)
                Else
                    lvw.Items.Clear()
                    populate_lvw()
                End If

                da.Dispose()
                ds.Dispose()


            Case 3
                If srcTxt.Text = "" Then
                    MsgBox(" Please enter a name")
                    Exit Sub
                Else

                    sqlsearch = "select student_slno,student_fullname, student_dob, student_branch, student_scholarship from Students where student_fullname like @student_fullname and student_dob=@student_dob"
                    Dim da As New SqlDataAdapter(sqlsearch, con)
                    da.SelectCommand.Parameters.AddWithValue("@student_fullname", "%" + Me.srcTxt.Text.Trim + "%")
                    da.SelectCommand.Parameters.AddWithValue("@student_dob", DateTimePicker1.Value.Date)
                    da.Fill(ds)
                    If ds.Tables(0).Rows.Count = 0 Then
                        MessageBox.Show("No record exists, try again", "SORRY!", MessageBoxButtons.OK)
                    Else
                        lvw.Items.Clear()
                        populate_lvw()
                    End If

                    da.Dispose()
                    ds.Dispose()
                End If

        End Select
        srcTxt.Clear()
        If con.State = ConnectionState.Open Then
            con.Close()
        End If
              End Sub


    Public Sub populate_lvw()
        lvw.Items.Clear()
        For i As Integer = 0 To ds.Tables(0).Rows.Count - 1
            Dim lvi As New ListViewItem
            lvi.Text = ds.Tables(0).Rows(i)(0).ToString()
            For j As Integer = 1 To ds.Tables(0).Rows(i).ItemArray.Length - 1
                lvi.SubItems.Add(ds.Tables(0).Rows(i)(j).ToString())
            Next
            'MsgBox(lvw.Items.Count + 1)
            lvw.Items.Add(lvi)
        Next
        ds.Dispose()

    End Sub

推荐答案

尝试清除数据集而不是listview



ds.Clear()





ds.Tables.Clear()
Try to clear dataset instead of listview

ds.Clear()

or
ds.Tables.Clear()


这篇关于listview项目不会被清除的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆