简体   繁体   English

如何重新加载列表视图?

[英]How to reload list view?

I have run into a problem.我遇到了一个问题。 When the main form load, it call the loadSentnbox()当主窗体加载时,它调用 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

It works good !.它运作良好! But I want to update the database from another form and then close the window and update the listview on the original page.但我想从另一个表单更新数据库,然后关闭窗口并更新原始页面上的列表视图。 I write loadSentbox() in the close event, but listview shows nothing.我在 close 事件中编写了 loadSentbox(),但 listview 什么也没显示。 What is the solution ?解决办法是什么 ? (i'm new to vb.net. Dont write a complex code) (我是 vb.net 的新手。不要写复杂的代码)

Try this code试试这个代码
Public Sub DatabaseToListview(ByVal strcon As String, ByVal strcmd As String, ByVal list As ListView) Public Sub DatabaseToListview(ByVal strcon As String, ByVal strcmd As String, ByVal list As ListView)
list.Items.Clear() list.Items.Clear()
Dim dr1 As SqlClient.SqlDataReader Dim dr1 作为 SqlClient.SqlDataReader
Dim con As New SqlClient.SqlConnection(strcon) Dim con 作为新的 SqlClient.SqlConnection(strcon)
Dim i As Integer = 0 Dim i As Integer = 0
Dim cmd As New SqlClient.SqlCommand Dim cmd 作为新的 SqlClient.SqlCommand
Dim item As New ListViewItem Dim item As New ListViewItem
con.Open() con.Open()
cmd = New SqlClient.SqlCommand(strcmd, con) cmd = 新建 SqlClient.SqlCommand(strcmd, con)
dr1 = cmd.ExecuteReader dr1 = cmd.ExecuteReader
While (dr1.Read())而 (dr1.Read())
item = New ListViewItem() item = 新建 ListViewItem()
item.Text = dr1(0).ToString item.Text = dr1(0).ToString
i = 1我 = 1
While i < dr1.FieldCount当我 < dr1.FieldCount
item.SubItems.Add(dr1(i).ToString) item.SubItems.Add(dr1(i).ToString)
i = i + 1我 = 我 + 1
End While结束时间
list.Items.Add(item) list.Items.Add(item)
End While结束时间
dr1.Close() dr1.Close()
con.Close()关闭()
End Sub结束子

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM