使用Visual Basic在数据网格中隐藏行

时间:2014-06-05 17:31:10

标签: jquery vb.net datagridview

我需要隐藏null的行,我想知道使用自动执行此操作的函数是否更好,或者最好使用click函数隐藏它。另外,我使用删除列的唯一方法我使用了我无法在下面添加删除所以我的问题是如何在Visual Basic中编写隐藏空行的函数,或者如何编写buttonHide_Click方法来执行此操作还是一个jquery?

谢谢!

我能够写这个但我不明白 - 对于每行作为DataGrid的CType的含义 -

Private Sub dg_DataBindingComplete(ByVal sender As System.Object, ByVal e As  System.Web.UI.WebControls.DataGridItemEventArgs) Handles dg.ItemDataBound

    For Each Row As DataGrid In CType(ItemTemplate, DataRowView)
        Dim Visible As Boolean = True

        'Do this to inspect all cells in the row
        For i As Integer = 0 To Row.Cells.Count - 1
            If Row.Cells(i).Value Is Nothing Then
                Visible = False
                Exit For
            End If
        Next

        'Or you can check specific columns for their values
        If Row.Cells(0).Value Is Nothing OrElse _
        (IsNumeric(Row.Cells(0).Value) AndAlso CInt(Row.Cells(0).Value) < 0) Then
            Visible = False
        End If

        Row.Visible = Visible
    Next
End Sub

1 个答案:

答案 0 :(得分:0)

我不明白 - 对于每行作为DataGrid的CType -

For Each Row As DataGrid In CType

是For Each循环,它遍历DataRowView类型的DataGrid中的所有行。由于 DataRowView 兼容, CType 方法会尝试将每个/任何类型 ItemTemplate 的行转换为 DataRowView ,以便您可以访问特定的行属性。

如果你没有将每一行转换为DataRowView,那么当它是ItemTemplate类型时,很难访问该行的各个单元格(然后你需要再做一些CType)。因此,您的代码将其转换为DataRowView,以便它可以方便地访问Cell,Visible,Value等属性......