天天看點

datagrid合并單元格

if(e.Item.ItemType == ListItemType.Header)

{

     e.Item.Cells[0].RowSpan = 2;

     e.Item.Cells[1].ColumnSpan = 3;

     e.Item.Cells[2].Visible = false;

     e.Item.Cells[3].Visible = false;

}

this.newsgrid.Items[i].Cells[7].ForeColor=ColorTranslator.FromHtml("#ff0000");

cell0.Width=Unit.Pixel(int);

'合并函數

    Sub SpanGrid()

        Dim i As Integer

        Dim j As Integer

        Dim intSpan As Integer

        Dim strTemp As String

        For i = 0 To datagrid1.Items.Count - 1

            intSpan = 1

            '得到第二十一列(顔色)、第一行單元格中的内容。

            strTemp = datagrid1.Items(i).Cells(21).Text

            '循環判斷。判斷第二十一列中,和第一行相同的内容。相同做記号,intspan加一

            For j = i + 1 To datagrid1.Items.Count - 1

                If String.Compare(strTemp, datagrid1.Items(j).Cells(21).Text) = 0 Then

                    intSpan += 1

                    '利用datagrid的rowspan屬性。(設定控件中單元格跨越的行數為intspan)

                    datagrid1.Items(i).Cells(21).RowSpan = intSpan

                    '把内容相同單元格隐藏

                    datagrid1.Items(j).Cells(21).Visible = False

                Else

                    Exit For

                End If

            Next

            i = j - 1

        Next

    End Sub

這個函數沒有測過,感覺太麻煩了,可是有時候要求就是這麼奇怪