說明:
1.拖曳SqlDataSource至頁面,設定好SQL語法。
2.拖曳GridView至頁面,設定來源為SqlDataSource。
3.請於GridView_PreRender加入以下程式碼。
Protected Sub GridView1_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles GridView1.PreRender
Dim i As Integer = 1
Dim mySingleRow As GridViewRow
For c As Short = 0 To GridView1.Columns.Count - 1
i = 1
For Each mySingleRow In GridView1.Rows
If mySingleRow.RowIndex = 0 Then
mySingleRow.Cells(c).RowSpan = 1
Else
If mySingleRow.Cells(c).Text.Trim() = _
GridView1.Rows(mySingleRow.RowIndex - i).Cells(c).Text.Trim() Then
GridView1.Rows(mySingleRow.RowIndex - i).Cells(c).RowSpan += 1
i = i + 1
mySingleRow.Cells(c).Visible = False
Else
GridView1.Rows(mySingleRow.RowIndex).Cells(c).RowSpan = 1
i = 1
End If
End If
Next
Next
End Sub
補充:
如使用程式碼指派DataSource給GridView,如下:
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
Dim sqlselect As String
sqlselect = "SELECT * FROM TABLE"
Dim dt1 As New Data.DataTable
dt1 = db1.GetDataTable(sqlselect)
GridView1.DataSource = dt1
GridView1.DataBind()
End Sub
則GridView_PreRender內無法使用:For c As Short = 0 To GridView1.Columns.Count - 1
GridView1.Columns.Count抓不到值,需自行指派一個整數,例如:For c As Short = 0 To 2
效果示意圖: