Click here to Skip to main content
15,881,812 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
This is my code to load data into my listview. When i add new data in my database and refresh my listview, the new data get displayed but the previous data also get listed again(duplicated). How can i make my listview display all records only once?

VB
Private Sub populate_studentLvw()
       con.Open()
       cmd = New SqlCommand("select * FROM Students", con)
       Using dr As SqlDataReader = cmd.ExecuteReader
           While dr.Read
               Dim li As New ListViewItem()
               li.Text = Convert.ToString(dr.Item("student_pk"))
               li.SubItems.Add(Convert.ToString(dr.Item("student_fullname")))
               li.SubItems.Add(Convert.ToString(dr.Item("student_branch")))
               li.SubItems.Add(Convert.ToString(dr.Item("student_scholarship")))
               studentLvw.Items.Add(li)
           End While
       End Using
       cmd.Dispose()
       con.Close()


My datagrid does not have this problem.Please give suggestions. Thanks.
Posted

clear the listitems using "li.items.clear()" everytime when you are calling above function or may be write this function inside (!ispostback) so that will bind data once only.
 
Share this answer
 
VB
Private Sub populate_studentLvw()
       studentLvw.Items.clear()' clear the items first
       con.Open()
       cmd = New SqlCommand("select * FROM Students", con)
       Using dr As SqlDataReader = cmd.ExecuteReader
           While dr.Read
               Dim li As New ListViewItem()
               li.Text = Convert.ToString(dr.Item("student_pk"))
               li.SubItems.Add(Convert.ToString(dr.Item("student_fullname")))
               li.SubItems.Add(Convert.ToString(dr.Item("student_branch")))
               li.SubItems.Add(Convert.ToString(dr.Item("student_scholarship")))
               studentLvw.Items.Add(li)
           End While
       End Using
       cmd.Dispose()
       con.Close()
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900