在我的 VB.net win 窗体应用程序中,当我单击“加载”按钮时,我将文件夹中的文件名显示到 Datagridview 上。然后在我点击处理按钮后,文件将被移动到另一个文件夹。移动文件后,必须刷新网格。
这是我写的代码。我可以移动文件但不能刷新网格。有什么建议吗?
Public Class Form1
Private Sub Load_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)Handles Load.Click
With DataGridView1
.Columns.Add("Column 0", "TaskName")
.AutoResizeColumns()
End With
Dim rowint As Integer = 0
'Dim directoryInfo As New System.IO.DirectoryInfo("C:\Users\Desktop\auto")
'Dim fileInfo = System.IO.Directory.GetFiles(directoryInfo.ToString)
'Dim name As String
DataGridView1.Rows.Add()
Dim filename As String = System.IO.Path.GetFileName("C:\Users\Ram\Desktop\auto\INQUEUE\123.txt")
DataGridView1.Item(0, rowint).Value = filename
rowint = rowint + 1
End Sub
Private Sub Process_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Process.Click
System.IO.File.Move("C:\Users\Ram\Desktop\auto\INQUEUE\123.txt", "C:\Users\Ram\Desktop\Demo\abc.txt")
System.IO.File.Delete("C:\Users\Ram\Desktop\auto\INQUEUE\123.txt")
DataGridView1.Refresh()
End Sub
下课
最佳答案
因为您没有绑定(bind)任何东西,所以最好只更改网格中行的值。
更好的选择是创建一个列表,然后将数据源设置为该列表,当您更新列表项以反射(reflect)新字符串时,您可以刷新网格,它应该可以工作。
Private Sub Process_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Process.Click
System.IO.File.Move("C:\Users\Ram\Desktop\auto\INQUEUE\123.txt", "C:\Users\Ram\Desktop\Demo\abc.txt")
System.IO.File.Delete("C:\Users\Ram\Desktop\auto\INQUEUE\123.txt")
DataGridView1.Rows(0).Cells(0) = "C:\Users\Ram\Desktop\auto\INQUEUE\123.txt"
End Sub
关于.net - 如何在 vb.net 中刷新 Datagridview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6250725/