7

私はすでに解決策を見つけています。投稿したいだけなので、これは一部の人にとって役立つかもしれません

これはコマンドを使用するボタンです

<dxwgv:ASPxGridView ID="gdvxUsers" runat="server" AutoGenerateColumns="False" Width="100%" KeyFieldName="UserName" onrowcommand="gdvxUsers_RowCommand">
        <Columns>
        <dxwgv:GridViewDataTextColumn Caption="Edit" VisibleIndex="0" Width="0px">
            <DataItemTemplate>
                <asp:ImageButton ID="imbEdit" runat="server"
                    CommandName = "Edit"
                    ImageUrl="~/images/icon/Edit-icon.png" ClientIDMode="Static" />
            </DataItemTemplate>
        </dxwgv:GridViewDataTextColumn>
</dxwgv:ASPxGridView>

    protected void gdvxUsers_RowCommand(object sender, DevExpress.Web.ASPxGridView.ASPxGridViewRowCommandEventArgs e)
    {
        switch (e.CommandArgs.CommandName)
        {
            case "Edit":



            break;
        }
    }

ボタンをクリックしても、行コマンドは実行されません。

4

2 に答える 2

10

問題は、使用しているグリッドビューでコマンドPage_Loadを使用すると、がキャンセルされたようです。Databind()rowcommandDataBind()rowcommand

    protected void Page_Load(object sender, EventArgs e)
    {
            gdvxUsers.DataSource = GetAllUserAndRole();
            gdvxUsers.DataBind();            
    }

したがって、最初のロード時にのみデータをバインドすることで、この問題を解決します。

    protected void Page_Load(object sender, EventArgs e)
    {
        if (!Page.IsPostBack)
        {
            gdvxUsers.DataSource = GetAllUserAndRole();
            gdvxUsers.DataBind();
        }
    }
于 2011-07-07T05:33:02.757 に答える
1

EnableViewState="false"グリッドで作成したことがあるかもしれません。

この場合Rowcommand Eventも発火しません。

EnableEventValidation="true"ページで作成しました。

この場合、RowCommand EventWill Not Fire、これを false に設定します。

解決策は、true に設定することです。

于 2012-02-28T14:21:59.427 に答える