簡體   English   中英

如何重新加載列表視圖?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM