嗨,我插入表中,然后读取所有内容到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