Im implementing custrom delete by adding to my ASPxGridView GridViewColumnCustomButton.
Then on my GridView I handle ClientSideEvent
<ClientSideEvents CustomButtonClick="function(s, e) { customButton_OnClick(s, e); }" />
JS:
function customButton_OnClick(s, e) {
if (e.buttonID == "customButtonId") {
e.processOnServe开发者_如何学Cr = confirm("Really want to delete?");
}
}
Ive also added to my grid:
OnCustomButtonCallback="GvMyGridViews_OnCustomCallback"
now on the server side I user linq to delete specified row and then submit changes to my DataContext and then DataBind() on my grid.
Problem is that sometimes standard ASPxGridView loading panel is shown for about 1 second ant then my row dissapears so it behaves properly but sometimes loading panel stops mooving. and I need to move mouse over my grid or click button so that my Grid is updated(row dissapears).
Have You got any Idea where the problem is ? Thanks for help
It it hard to answer your question. Please try to determine if the row was actually deleted from the DB when you call the grid's DataBind method. Also, I suspect that the ASPxGridView is bound to a LinqDataSource object. If so, I suggest that you log which data it returns and check if a row deleted is in the list. It is possible since this component can cache data and return a non valid recordset. To determine which data is returned by the LinqDataSource, you may use the code from
http://forums.asp.net/p/1583916/3998100.aspx
Make sure that after you delete the record at the end of your custombuttoncallback handler that you SET THE DATASOURCE then rebind the grid. If you just call DataBind() without setting the datasource it will not work properly. Ie.
aspxGrid.DataSource = updatedDataSourceAfterTheDelete;
aspxGrid.DataBind();
精彩评论