0

データグリッドがあり、editcommandでドロップダウンリストの値を設定したいと思います。

しかし、コントロールが見つかりませんか?

これが私の.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)は見つかりましたが、ドロップダウンリストは見つかりませんでした。

考え?!?

4

1 に答える 1

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>
于 2012-06-19T18:11:47.733 に答える