Ich habe eine Gridview mit einer Dropdown-Liste, die programmatisch erstellt wurde. Ich möchte
Zugriff auf den ausgewählten Wert und auf die ID dieser Zeile haben. Ich habe die Dropdown-Liste erstellt in Gridview_RowDataBound und ich kann den Text in der Zelle verwenden, aber meine addHandler wird nie ausgelöst. Wo gebe ich den Add-Handler an. Ich glaube, ich kann es den Addhandler in RowCreated zuweisen, aber wie wäre ich in der Lage, den Add-Handler einzurichten, wenn die Schaltfläche in RowDataBound erstellt wird?Dropdown-Liste und Gridview Zeilenindex/selectedvalue Problem
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
Es passt am besten in rowData gebunden, weil meine Dropdownlist-Elemente nicht kopieren, aber ich muss in der Lage sein, die AddHandler Ich habe zu verwenden.
der Text funktioniert gut ... ich könnte das aber tun. aber das ist nicht mein Problem. – Eric
Ich denke, der Grund, warum Sie es nicht in RowDatabound tun können, ist, weil der Text noch nicht existiert - e.Row.Cells (0) .Text wird leer sein, was dazu führen wird, dass Ihr Change-Event fehlschlägt. Wenn Sie den Wert von dataItem in rowDatabound festlegen, sollte es funktionieren. – Rob
Ich denke du schaust meine Frage rückwärts an. In rowDatabound habe ich Zugriff auf das Datenelement und den Text. Ich kann die rowID dorthin bringen, aber ich kann den addhandler nicht auslösen, so dass ich meinen ausgewählten Wert abrufen kann. Ich werde die Frage neu formulieren. – Eric