2012-06-19 42 views
0

我有一个datagrid,我想在editcommand中设置dropdownlist的值。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),而不是下拉列表。

想法?!?

回答

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> 
相关问题