[英]How to reload list view?
我遇到了一个问题。 当主窗体加载时,它调用 loadSentnbox()
Public Sub loadSentbox()
logmysql()
Try
Dim sqlquery As String
logmysql()
sqlquery = "SELECT * FROM files_tr WHERE `from` = '" + user + "'"
mysqlCommand = New MySqlCommand(sqlquery, mysqlCon)
'Open the Db
mysqlCon.Open()
mysqlReader = mysqlCommand.ExecuteReader
While mysqlReader.Read
Dim i As ListViewItem
ltv_sentbox.BeginUpdate()
i = ltv_sentbox.Items.Add(mysqlReader.Item("to"))
i.SubItems.Add(mysqlReader.Item("filename"))
i.SubItems.Add(mysqlReader.Item("size"))
i.SubItems.Add(mysqlReader.Item("status"))
ltv_inbox.Update()
ltv_inbox.EndUpdate()
End While
mysqlCon.Close()
'ltv_sentbox.Refresh()
Catch ex As Exception
MsgBox(ex.ToString, MsgBoxStyle.Critical)
End Try
End Sub
它运作良好! 但我想从另一个表单更新数据库,然后关闭窗口并更新原始页面上的列表视图。 我在 close 事件中编写了 loadSentbox(),但 listview 什么也没显示。 解决办法是什么 ? (我是 vb.net 的新手。不要写复杂的代码)
试试这个代码
Public Sub DatabaseToListview(ByVal strcon As String, ByVal strcmd As String, ByVal list As ListView)
list.Items.Clear()
Dim dr1 作为 SqlClient.SqlDataReader
Dim con 作为新的 SqlClient.SqlConnection(strcon)
Dim i As Integer = 0
Dim cmd 作为新的 SqlClient.SqlCommand
Dim item As New ListViewItem
con.Open()
cmd = 新建 SqlClient.SqlCommand(strcmd, con)
dr1 = cmd.ExecuteReader
而 (dr1.Read())
item = 新建 ListViewItem()
item.Text = dr1(0).ToString
我 = 1
当我 < dr1.FieldCount
item.SubItems.Add(dr1(i).ToString)
我 = 我 + 1
结束时间
list.Items.Add(item)
结束时间
dr1.Close()
关闭()
结束子
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.