根据datagridview列的多个值为datagridview添加过滤器

时间:2017-10-25 22:24:45

标签: vb.net datagridview filter

我有一个绑定的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

0 个答案:

没有答案