天天看点

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

这个函数没有测过,感觉太麻烦了,可是有时候要求就是这么奇怪