프로그래밍 방식으로 만든 드롭 다운 목록이있는 gridview가 있습니다. 선택한 값과 해당 행 ID에 대해
액세스 권한을 갖고 싶습니다. Gridview_RowDataBound에 드롭 다운 목록이 있고 셀의 텍스트를 사용할 수 있지만 addHandler가 실행되지 않습니다. Add 핸들러는 어디에서 부여해야합니까? RowCreated에서 addhandler를 할당 할 수 있다고 생각하지만 버튼이 rowdatabound에서 생성되면 추가 처리기를 설정할 수 있습니까?드롭 다운 목록 및 gridview 행 인덱스/selectedvalue 문제
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
그것은 내 DropDownList로 항목이 중복되지 않기 때문에 rowData 하행에서 가장 바인딩에 맞는하지만 난 내가 만든 AddHandler에 사용할 수 있어야합니다.
텍스트가 잘 작동 ... 나는 그것을 할 수 있습니다. 하지만 그건 내 문제가 아니야. – Eric
나는 당신이 왜 rowDatabound에서 그것을 할 수 없는지 이유는 텍스트가 아직 존재하지 않기 때문이라고 생각한다 - e.Row.Cells (0) .Text는 비어있어서 변경 이벤트가 실패 할 것이다. dataItem에서 rowDatabound에 값을 설정하면 제대로 작동합니다. – Rob
내 질문을 거꾸로보고 있다고 생각합니다. rowDatabound에서 데이터 항목과 텍스트에 모두 액세스 할 수 있습니다. 그 rowID를 얻을 수는 있어도 addhandler를 해고 할 수 없어서 내가 선택한 값을 얻을 수 있습니다. 나는 그 질문에 대해 다시 말 할 것이다. – Eric