I have already find out the solution, i just want to post it so this may be useful for some people
This is the button that use command
<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;
}
}
The Row Command is not fire when the button is clicked.
The Problem is that on Page_Load
I use Databind()
command on the gridview I'm using rowcommand
, it seems that after DataBind()
, rowcommand
is cancelled.
protected void Page_Load(object sender, EventArgs e)
{
gdvxUsers.DataSource = GetAllUserAndRole();
gdvxUsers.DataBind();
}
So I fix this problem by binding data only on first load.
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
gdvxUsers.DataSource = GetAllUserAndRole();
gdvxUsers.DataBind();
}
}
You may have made EnableViewState="false"
in grid.
If this is the case, Rowcommand Event
will also not fire.
You have made EnableEventValidation="true"
on page.
If this is the case, RowCommand Event
Will Not Fire, Set This To false.
The solution is to set it to true.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With