listview显示两次数据 [英] listview displays data twice
本文介绍了listview显示两次数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
这是我将数据加载到listview中的代码。当我在我的数据库中添加新数据并刷新我的列表视图时,会显示新数据,但之前的数据也会再次列出(重复)。如何让listview只显示一次所有记录?
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?
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.
推荐答案
每次调用上面的函数时都使用li.items.clear()清除列表项,或者可以在里面写这个函数(!ispostback)这样只会绑定数据一次。
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.
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()
这篇关于listview显示两次数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文