例如,我希望我的标题如下:
| 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()
最佳答案
这可以在 GridView 的 RowDataBound 事件中完成。只需检查当前行是否为标题,如果是,则设置应跨越哪些单元格。
首先确保 GridView 处理行数据绑定(bind)事件。
<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
请记住,如果添加或删除任何列,这种硬编码可能会在将来导致问题。
关于asp.net - GridView 中具有列跨度的标题列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37141766/