简体   繁体   中英

ASPxGridView DeleteRow not deleting on another control callback

I'm using the DEVExpress's gridview and have this code that deletes the selected gridview row from another control's customcallback,

the line

GridFrom.DeleteRow(int.Parse(rowKey[2]));

retrieves the correct visibleIndex but does not remove the row from the gridview. The databind also does not refreshes the gridview's data and it requires refreshing of the page for the data to update

    protected void ASPxTreeList1_CustomCallback(object sender, DevExpress.Web.ASPxTreeList.TreeListCustomCallbackEventArgs e)
    {
        string[] rowKey = e.Argument.Split('|');

        string strConnectionString = ConfigurationManager.ConnectionStrings["dbname"].ConnectionString;
        using (SqlConnection conn = new SqlConnection(strConnectionString))
        {
            string query = "DELETE FROM Table WHERE id=@id";

            using (SqlCommand cmd = new SqlCommand(query, conn))
            {
                conn.Open();
                cmd.Parameters.AddWithValue("@id", rowKey[0]);
                cmd.ExecuteNonQuery();
                conn.Close();
            }

        }
        GridFrom.DeleteRow(int.Parse(rowKey[2])); //rowKey[2] is the visibleIndex
        GridFrom.DataBind();
    }
}

it requires refreshing of the page for the data to update

You don't see grid changes, because ONLY ASPxTreeList is updated during ITS OWN callback.

As a possible solution, disable ASPxTreeList's callbacks or delete a grid row using the grid's CustomCallback instead (in a similar manner).

<dx:ASPxTreeList ID="ASPxTreeList1" runat="server" EnableCallbacks="false">
</dx:ASPxTreeList>

Check the The concept of callbacks - Why is it impossible to update external control data during a callback to another control learning guide regarding this.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM