【发布时间】:2009-06-01 16:04:00
【问题描述】:
我有一个带有下拉列表的网格视图,它是通过编程方式创建的。我希望
可以访问所选值和该行的 ID。我在 Gridview_RowDataBound 中创建了下拉列表,我可以使用单元格中的文本,但我的 addHandler 从未被触发。我在哪里给它添加处理程序。我相信我可以在 RowCreated 中为其分配 addhandler,但是如果按钮是在 rowdatabound 中创建的,我将如何设置添加处理程序?
Dim deptvalue As String
Dim i As Integer = 0
Dim ddlmgr As New DropDownList
ddlmgr.AutoPostBack = True
AddHandler ddlmgr.SelectedIndexChanged, AddressOf ddlmgr_SelectedIndexChanged
ddlmgr.Items.Clear()
ddlmgr.Items.Insert(0, "--Select a Manager--")
ddlmgr.AppendDataBoundItems = True
ddlmgr.DataTextField = "Name"
ddlmgr.DataValueField = "number"
ddlmgr.DataSource = SqlDataSource2
ddlmgr.DataBind()
deptvalue = e.Row.Cells(0).Text
ddlmgr.Attributes.Add("onchange", "setDepart('" & deptvalue & "')")
If e.Row.RowType <> DataControlRowType.Pager And e.Row.RowType <> DataControlRowType.Header And e.Row.RowType <> DataControlRowType.Footer Then
e.Row.Cells(2).Controls.Add(ddlmgr)
End If
If e.Row.RowType <> DataControlRowType.Pager And e.Row.RowType <> DataControlRowType.Footer Then
e.Row.Cells(0).Style.Add("display", "none")
End If
它最适合 Rowdata 绑定,因为我的下拉列表项不重复,但我需要能够使用我创建的 addhandler。
【问题讨论】:
标签: .net asp.net vb.net gridview drop-down-menu