2012-06-19 4 views
0

У меня есть datagrid, и я хочу установить значение выпадающего списка в editcommand.datagrid editcommand set dropdownlist selectedvalue

Однако я не могу найти контроль?

Вот мой .net:

Private Sub dgUsers_EditCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataGridCommandEventArgs) Handles dgUsers.EditCommand 

    Dim ddl As DropDownList = CType(e.Item.Cells(3).FindControl("ddlRole"), DropDownList) 
    'ddl.SelectedValue = "20" 

    dgUsers.EditItemIndex = e.Item.ItemIndex 
    Call bindUsers() 
    dgUsers.ShowFooter = False 
End Sub 

Вот мой HTML:

<asp:TemplateColumn HeaderText="Role"> 
      <ItemTemplate> 
       <asp:Label ID="lblRole" runat="server" Text='<%# Eval("GetRoleName") %>' /> 
      </ItemTemplate> 
      <EditItemTemplate> 
       <asp:DropDownList id="ddlRole" runat="server"> 
        <asp:ListItem Text="User" Value="0" /> 
        <asp:ListItem Text="WRA" Value="10" /> 
        <asp:ListItem Text="Admin" Value="20" /> 
       </asp:DropDownList> 
      </EditItemTemplate> 
     </asp:TemplateColumn> 

При отладке в EditCommand, я могу найти ярлык (lblRole), но не DropDownList.

Мысли?!?

ответ

1

Я только что понял. Несмотря на то, что IDE не отображает свойство, вы можете установить значение SelectedValue на стороне проекта:

<EditItemTemplate> 
       <asp:DropDownList id="ddlRole" runat="server" SelectedValue='<%# Eval("GetRoleId") %>'> 
        <asp:ListItem Text="User" Value="0" /> 
        <asp:ListItem Text="WRA" Value="10" /> 
        <asp:ListItem Text="Admin" Value="20" /> 
       </asp:DropDownList> 
      </EditItemTemplate> 
Смежные вопросы