【发布时间】:2010-10-15 16:52:45
【问题描述】:
我正在尝试向 Gridview 添加新的标题行。此行应显示在原始标题行下方。
据我所知,我有两个活动可供选择:
1.) Gridview_RowDataBound 2.) Gridview_RowCreated
选项 1 不是一个选项,因为网格没有绑定每个回发的数据。 选项 2 无法按预期工作。我可以添加行,但它是在 HeaderRow 之前添加的,因为在此事件中尚未添加 HeaderRow 本身...
请帮忙,谢谢!
代码:(InnerTable 属性由自定义 gridview 公开)
Private Sub GridView1_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GridView1.RowDataBound
If e.Row.RowType = DataControlRowType.Header Then
Dim r As New GridViewRow(-1, -1, DataControlRowType.Header, DataControlRowState.Normal)
For Each c As DataControlField In CType(sender, GridView).Columns
Dim nc As New TableCell
nc.Text = c.AccessibleHeaderText
nc.BackColor = Drawing.Color.Cornsilk
r.Cells.Add(nc)
Next
Dim t As Table = GridView1.InnerTable
t.Controls.Add(r)
End If
End Sub
【问题讨论】:
-
不,这不起作用。与我最初问题中的选项 1 相同的问题...
-
您答案中的代码是否正确?我也有同样的问题。
-
我设法让它工作......在我的情况下,我需要知道 CreateRow 函数,它允许我构建我需要的功能。祝你好运。
标签: asp.net gridview dynamic row add