1
我正在更新大型数据库中的1个字段。 因为我想看看进度有多远,所以我想在更新记录时更新我的标签。但是,这不起作用:他只在最后完成时更新它。文本(标签)未更新(vb.net)
请注意,进度栏和更新工作正常,而且我没有任何错误消息。任何想法?
Private Sub btnUpdateHeight_Click(sender As System.Object, e As System.EventArgs) Handles btnUpdateHeight.Click
dt = loadform()
ProgressBarTSLabels.Minimum = 0
Dim qty As Integer = 0
ProgressBarTSLabels.Value = 0
ProgressBarTSLabels.Maximum = dt.Rows.Count
Dim db As New DataClasses1DataContext
For Each Me.dr In dt.Rows
If dr.Item(5).ToString.Trim <> "" Then
Dim sqlupdate As tblLabel = (From expr In db.tblLabels Where expr.LabelID = dr.Item(0).ToString).First
With sqlupdate
.Height = If(dr.Item(5).ToString = "max", "999", dr.Item(5).ToString)
db.SubmitChanges()
End With
End If
ProgressBarTSLabels.Value += 1
qty += 1
lblQty.Text = qty & "/" & dt.Rows.Count
Next
End Sub
该死的,我不知道那个选项。 感谢您的快速响应! – GertDeWilde
这是我见过的任何语言中最奇怪的事情之一......在标签上调用Refresh()?哈哈..也非常需要..除非你在方法中的代码运行后设置文本? (这与For循环无关btw)所以“设置info text>运行代码更新数据网格视图”所有在同一个方法中不会更新标签,而是“运行代码来更新数据网格视图”集信息文本“不需要刷新()工作?这就是我的情况。在设置文本后调用Refresh()会在执行时起作用,这似乎并不必要,但显然它在VB.NET中。 – whyoz