В какой-то момент мне удалось выбрать статический DDL в моем представлении сетки, а затем обновить сетку в зависимости от выбранного мной выбора. В какой-то момент это перестало работать, и я не могу его воскресить.Раскрывающийся список в виде сетки: невозможно получить выбранное значение
Ниже приведен (упрощенный) код, где все работает кроме Получение выбранного значения из DDL - оно всегда возвращает первый элемент списка. Любая идея, где я пошла не так?
protected void gv_Pending_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow && (e.Row.RowState & DataControlRowState.Edit) == DataControlRowState.Edit)
{
((DropDownList)e.Row.FindControl("ddl_Pending")).Enabled = true;
}
}
protected void gv_Pending_RowUpdating(object sender, GridViewUpdateEventArgs e)
{
int index = Convert.ToInt32(e.RowIndex);
GridViewRow row = gv_Pending.Rows[index];
string adm_appr = ((DropDownList)row.FindControl("ddl_Pending")).SelectedValue.ToString();
}
<asp:GridView ID="gv_Pending" runat="server"
OnRowDataBound="gv_Pending_RowDataBound" OnRowUpdating="gv_Pending_RowUpdating" OnRowEditing="gv_Pending_RowEditing"
OnRowCancelingEdit="gv_Pending_RowCancelingEdit" OnRowCommand="gv_Pending_RowCommand"
ClientIDMode="Static" >
<Columns>
<asp:CommandField ShowCancelButton="true" ShowEditButton="true" />
<asp:TemplateField HeaderText="Approval" Visible="true">
<ItemTemplate>
<asp:DropDownList ID="ddl_Pending" runat="server" OnSelectedIndexChanged="ddlPending_SelectedIndexChanged"
Enabled="false" >
<asp:ListItem >Select One</asp:ListItem>
<asp:ListItem >Standard Privilege</asp:ListItem>
<asp:ListItem >Admin Privilege</asp:ListItem>
<asp:ListItem >Deny Request</asp:ListItem>
<asp:ListItem >Remove Account</asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Field 1" DataField="Field 1 data" ReadOnly="true" />
<asp:BoundField HeaderText="Field 2" DataField="Field 2 data" ReadOnly="true" />
</Columns>
</asp:GridView>