我有一个绑定的datagridview,其中包含一列“Graphicmacro”。在此列中,每行包含网络驱动器上不同文件的路径。我必须添加一个过滤器来检查文件的路径是否正确(如果文件存在),如果是,则datagridview不会更改。如果路径不正确,那么应该过滤掉那些行(某些行也有重复的路径)。
如果文件存在,我能够检查每一行,并且我能够过滤掉所有出现的第一个不正确的路径,但它不会过滤掉其余的错误路径。我是vb.net的新手,并且不知道如何为多个不正确的路径执行此操作。到目前为止,这是我的代码:
Public Function invalidpath()
Dim string2 As String
Dim string3 As String
Dim string4 As String
Dim dt As DataTable
dt = TblPartDataGridView.DataSource
Dim col As String = "graphicmacro"
For i = 0 To TblPartDataGridView.Rows.Count - 1
For Each row As DataGridViewRow In TblPartDataGridView.Rows
Dim txt As DataGridViewTextBoxCell = row.Cells(graphicmacro.Name)
If Not IsDBNull(txt.Value) Then
string2 = Replace(txt.Value, "$(MD_MACROS)", "L:\EPLAN\Electric P8\Macros")
If string2 <> "" Then
string3 = string2
If File.Exists(string3) Then
'Nothing
Else
string4 = Replace(string3, "L:\EPLAN\Electric P8\Macros ", "$(MD_MACROS)")
If InStr(string4, "'") Then
string4 = Replace(string4, "'", "''")
End If
string5 = col + " like '" & string4 & "'"
dt.DefaultView.RowFilter = string5
End If
End If
End If
Next
Next
Return 0
End Function