DataGrid合併行

类别:.NET开发 点击:0 评论:0 推荐:

    Private Sub UnitDataGridItem(ByVal intCell As Integer)
        Dim objDataGridItem As DataGridItem
        Dim strCell1 As String = ""
        Dim strCell2 As String = ""
        Dim objLiteralControl As LiteralControl
        Dim intSpan As Integer = 1
        Dim objDataGridItemToSpan As DataGridItem
        Dim i, j As Integer
        Dim strTemp As String
        For i = 0 To DataGrid1.Items.Count - 1
            intSpan = 1
            objLiteralControl = CType(DataGrid1.Items(i).Cells(intCell).Controls(0), LiteralControl)
            strCell1 = objLiteralControl.Text

            For j = i + 1 To DataGrid1.Items.Count - 1
                    objLiteralControl = CType(DataGrid1.Items(j).Cells(intCell).Controls(0), LiteralControl)
                    strCell2 = objLiteralControl.Text
                    If strCell1 = strCell2 Then 
                        intSpan += 1
                        DataGrid1.Items(i).Cells(intCell).RowSpan = intSpan
                        DataGrid1.Items(j).Cells(intCell).Visible = False
                    Else
                        Exit For
                    End If
                Next
                i = j - 1
        Next

    End Sub
除了設定RowSpan 外,還要把下面行的Visible 設成False,否則不起作用,底下會多出一個column.這個DataGrid的每個cell中都包含一個LiteralControl,如果沒有的話,就直接用DataGrid1.Items(i).Cells(intCell).Text即可.參數intCell ,是指要合併的那個列.

本文地址:http://com.8s8s.com/it/it41844.htm