我正在通过添加到我的ASPxGridView GridViewColumnCustomButton来实现客户删除。
然后在我的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删除指定的行,然后将更改提交到我的DataContext,然后提交到网格上的DataBind()。
问题是,有时标准的ASPxGridView加载面板显示大约1秒,然后我的行消失,因此它的行为正常,但有时加载面板停止移动。我需要将鼠标移到我的网格上或点击按钮,这样我的网格就会更新(行消失)。
你知道问题出在哪里吗?感谢你的帮助
发布于 2010-09-03 05:30:21
很难回答你的问题。当您调用网格的DataBind方法时,请尝试确定该行是否确实已从数据库中删除。此外,我还怀疑ASPxGridView绑定到了LinqDataSource对象。如果是这样,我建议您记录它返回的数据,并检查删除的行是否在列表中。这是可能的,因为该组件可以缓存数据并返回无效的记录集。要确定LinqDataSource返回哪些数据,可以使用
http://forums.asp.net/p/1583916/3998100.aspx
发布于 2010-09-21 23:19:59
确保在删除了custombuttoncallback处理程序结尾处的记录后,设置了数据源,然后重新绑定网格。如果只调用DataBind()而不设置数据源,它将无法正常工作。即。
aspxGrid.DataSource = updatedDataSourceAfterTheDelete;
aspxGrid.DataBind();https://stackoverflow.com/questions/3628787
复制相似问题