2010-09-02 95 views
0

Im实现custrom删除通过添加到我的ASPxGridView GridViewColumnCustomButton。ASPxGridView customCommandColumnButton

然后在我的GridView我处理ClientSideEvent

<ClientSideEvents CustomButtonClick="function(s, e) { customButton_OnClick(s, e); }" /> 

JS:

function customButton_OnClick(s, e) { 
     if (e.buttonID == "customButtonId") { 
      e.processOnServer = confirm("Really want to delete?"); 
     } 
    } 

香港专业教育学院也加入到我的网格:

OnCustomButtonCallback="GvMyGridViews_OnCustomCallback" 
现在

在服务器端我用户的LINQ to删除指定的行,然后将更改提交到我的DataContext,然后在我的网格上提交DataBind()。

问题是,有时标准的ASPxGridView加载面板显示大约1秒蚂蚁,然后我的行消散,所以它的行为正常,但有时加载面板停止mooving。我需要将鼠标移到我的网格上或单击按钮,以便更新我的网格(行消失)。

你有什么想法,问题在哪里? 感谢您的帮助

回答

1

这很难回答你的问题。当您调用网格的DataBind方法时,请尝试确定该行是否实际从数据库中删除。另外,我怀疑ASPxGridView绑定到LinqDataSource对象。如果是这样,我建议你记录它返回的数据,并检查列表中是否有删除的行。这是可能的,因为这个组件可以缓存数据并返回一个无效的记录集。要确定哪些数据是由使用LinqDataSource返回,您可以使用代码

http://forums.asp.net/p/1583916/3998100.aspx

+0

问题是,当我点击该网站或只是将鼠标移动到网格上时,loadPanel消失并且网格显示正确。正如我所说的那样,它不是确定性的,有时候网格的表现很好,有时甚至不好。 – gruber 2010-09-03 00:17:29

+0

您是否在您的特定机器上看到这种行为,或者它在不同的机器上可以重现?你在哪个浏览器中看到了这种行为? – 2010-09-03 07:10:08

+0

是它的可重复性,我试着在Firefox和IE中,当我打断点时有什么有趣的在Load_Page结束时,然后恢复应用程序加载面板正常工作,网格刷新。 – gruber 2010-09-03 08:13:02

0

确保在删除记录在您设置,然后将DataSource重新绑定网格您custombuttoncallback处理程序结束。如果你只是调用DataBind()而不设置数据源,它将无法正常工作。 IE浏览器。

aspxGrid.DataSource = updatedDataSourceAfterTheDelete; 
    aspxGrid.DataBind();