例如,我希望我的标题如下:
| Header Column | Header Column2 |
|apple|Microsoft|Android|Dell|HP|Targus|Stack Overflow|Acer|
我添加列的VB代码如下:
Dim dt As New DataTable
dt.Clear()
dt.Columns.Add("apple")
dt.Columns.Add("Microsoft")
Dim mr As DataRow
mr = dt.NewRow
mr("apple") = "Macbook"
mr("Microsoft") = "Surface Pro"
dt.Rows.Add(mr)
GridView1.DataSource = dt
GridView1.DataBind()
答案 0 :(得分:2)
这可以在GridView的RowDataBound事件中完成。只需检查当前行是否为标题,如果是,则设置应跨越的单元格。
首先确保GridView处理行数据绑定事件。
<asp:GridView ID="GridView1" runat="server" OnRowDataBound="gridView1_RowDataBound">
...
</asp:GridView>
然后,决定应该跨越哪个细胞。之后,隐藏跨越单元格将跨越的单元格。
Protected Sub gridView1_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.Header Then
e.Row.Cells(0).ColumnSpan = 3
e.Row.Cells(1).Visible = False
e.Row.Cells(2).Visible = False
End If
End Sub
请记住,如果添加或删除任何列,此硬编码可能会导致将来出现问题。