嗨,我插入表中,然後讀取所有內容到ListView
當我重新打開程序時,我看到我剛剛保存在我的ListView
中的數據,但是此記錄在保存時未顯示在我的ListView
中(儘管它被保存在表格中)。爲什麼ListView不刷新?
我使用
listView.Update()
以及
listView.Refresh()
,但它似乎並沒有工作。我只是用一個SELECT
查詢讀出的datareader
數據,並將其如下存放在我的listView
(這是正常工作)
唯一的問題是,ListView控件不立即刷新,但它工作時,我關閉/打開程序
這是我在我的Save方法結束時使用的代碼。基本上這兩種方法被調用
Private Sub SetColumns()
Dim lstpenalty As New ListView()
lstpenalty.Items.Clear()
lstpenalty.Visible = True
lstpenalty.Bounds = New Rectangle(New Point(390, 55), New Size(560, 379))
lstpenalty.Name = "lstpenalty"
lstpenalty.FullRowSelect = True
lstpenalty.View = View.Details
lstpenalty.GridLines = True
lstpenalty.Items.Clear()
lstpenalty.Columns.Add("a", 75)
lstpenalty.Columns.Add("b", 70)
lstpenalty.Columns.Add("c", 105)
lstpenalty.Columns.Add("d", 98)
lstpenalty.Columns.Add("e", 90)
lstpenalty.Columns.Add("f", 105)
Me.Controls.Add(lstpenalty)
LoadPenaltyList(lstpenalty)
End Sub
Private Sub LoadPenaltyList(ByRef listView As ListView)
Dim gDR As OracleDataReader
Dim cmd As New OracleCommand
Dim lstpenaltyview As New ListViewItem
Try
cnn.Connect_to_Oper_Agent()
cmd.Connection = cnn.cnn
listView.Items.Clear()
cmd.CommandText = " select a," & _
"b, " & _
"c, " & _
"d," & _
"e," & _
"f" & _
" FROM myTable" & _
" commit"
gDR = cmd.ExecuteReader()
While gDR.Read
lstpenaltyview = listView.Items.Add(Null_To_String(gDR("a")))
lstpenaltyview.SubItems.Add(gDR("b"))
lstpenaltyview.SubItems.Add(gDR("c"))
lstpenaltyview.SubItems.Add(gDR("d"))
lstpenaltyview.SubItems.Add(gDR("e"))
lstpenaltyview.SubItems.Add(gDR("f"))
End While
listView.Update()
Catch ex As Exception
MsgBox("There was an error... -> " & ex.ToString)
Finally
cmd.Dispose()
cnn.Close_Conn()
End Try
End Sub
感謝您的幫助
這兩種方法只是重繪其當前數據的控制。您需要使用新數據重新填充它。 – CathalMF 2013-03-15 14:03:36
用戶單擊保存(插入)後,我打電話兩種方法。其中之一是重新構建listView,另一個是從表中讀取新數據 – user1683987 2013-03-15 14:04:39
顯示代碼可能會有所幫助.. – 2013-03-15 14:04:43