ASP.NET : VB : GridView のセル結合

結果イメージ(左側は結合する前、右側は結合後)
概要
GridViewのコードを抜粋。
default.aspx
<asp:GridView ID='gv2' runat='server'>
  <Columns>
    <asp:TemplateField>
      <HeaderTemplate>
        <asp:Label runat='server' Text='No.' style='background-color:#00ff80' />
      </HeaderTemplate>
      <ItemTemplate>
        <asp:Label runat='server'><%# Container.DataItem('No').ToString %></asp:Label>
      </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField>
      <HeaderTemplate>
        <asp:Label runat='server' Text='B' style='background-color:#00ff80' />
      </HeaderTemplate>
      <ItemTemplate>
        <asp:Label runat='server'><%# Container.DataItem('B').ToString %></asp:Label>
      </ItemTemplate>
    </asp:TemplateField>
    <asp:TemplateField>
      <HeaderTemplate>
        <asp:Label runat='server' Text='C' style='background-color:#00ff80' />
      </HeaderTemplate>
      <ItemTemplate>
        <asp:Label runat='server' Text='<%# DataBinder.Eval(Container.DataItem, 'C') %>' />
      </ItemTemplate>
    </asp:TemplateField>
  </Columns>
</asp:GridView>
default.aspx.vb
Dim dt As New DataTable

dt.Columns.Add("No")
dt.Columns.Add("B")
dt.Columns.Add("C")


dt.Rows.Add(New Object() {"1.", "▲", "■"})
dt.Rows.Add(New Object() {"□", "△", "○"})
dt.Rows.Add(New Object() {"X", "Y", "Z"})

dt.Rows.Add(New Object() {"2.", "▲", "■"})
dt.Rows.Add(New Object() {"□", "△", "○"})
dt.Rows.Add(New Object() {"X", "Y", "Z"})

dt.Rows.Add(New Object() {"3.", "▲", "■"})
dt.Rows.Add(New Object() {"□", "△", "○"})
dt.Rows.Add(New Object() {"X", "Y", "Z"})


gv2.AutoGenerateColumns = False

gv2.DataSource = dt
gv2.DataBind()


'セルの結合(3行セット)
For i = 0 To gv2.Rows.Count - 1 Step 3
  '1行目の1列目は項番として3行結合
  gv2.Rows(i).Cells(0).RowSpan = 3
  '1行目の1列目は右上
  gv2.Rows(i).Cells(0).Style("text-align") = "right"
  gv2.Rows(i).Cells(0).Style("vertical-align") = "top"

  '2、3行目は結合したため非表示
  gv2.Rows(i + 1).Cells(0).Visible = False
  gv2.Rows(i + 2).Cells(0).Visible = False

  '3行目の2と3列目は結合
  gv2.Rows(i + 2).Cells(1).ColumnSpan = 2
  '3行目の3列目は結合したため非表示
  gv2.Rows(i + 2).Cells(2).Visible = False
Next
参考
 GridView の使い方