Devexpress ASPxGridview-“中断”行插入事件

Devexpress ASPxGridview-“中断”行插入事件,devexpress,aspxgridview,Devexpress,Aspxgridview,希望有人能给我指出正确的方向 使用DevExpress ASPxGridView和编辑表单 我需要“中断”行插入事件,以警告用户是否已经有一条记录与他们的信息匹配,并允许他们继续或取消 我已经向OnRowInserting事件添加了检查和取消,并且正在使用customJSProperties触发回调上的弹出窗口 但是我被困在如何让弹出的“是”按钮继续或重新启动行插入 是否有办法从客户端代码再次触发editform更新事件 或者我需要一种完全不同的方法吗?首先,我找到了这篇文章 第二,我希望您的所

希望有人能给我指出正确的方向

使用DevExpress ASPxGridView和编辑表单

我需要“中断”行插入事件,以警告用户是否已经有一条记录与他们的信息匹配,并允许他们继续或取消

我已经向OnRowInserting事件添加了检查和取消,并且正在使用customJSProperties触发回调上的弹出窗口

但是我被困在如何让弹出的“是”按钮继续或重新启动行插入

是否有办法从客户端代码再次触发editform更新事件


或者我需要一种完全不同的方法吗?

首先,我找到了这篇文章

第二,我希望您的所有行都有一个唯一的值,如ID。如果是这样,我建议您使用这样的方法

使用ASPxGridview的OnRowInserting功能。查找代码示例等。 检查插入ID是否已在数据存储中。通过运行查询 如果您的数据存储中没有,请使用like; 在此之前,添加DevExpress.XtraEditors名称空间。然后你可以像这样使用它

DialogResult myDialogResult;
myDialogResult = XtraMessageBox.Show("Content", "Title", MessageBoxButtons.YesNo);

if (myDialogResult == DialogResult.Yes)
{
    //yes was clicked
}

if (myDialogResult == DialogResult.No)
{
    //no was clicked
}

希望它能给你一个想法。如果您有Devexpress许可证,您可以询问。它们真的很快而且很有帮助。

您可以使用定制的HttpHandler解决这个问题。大概是这样的:

按编辑表单上的“保存”按钮 Save使用验证tablename,id所需的数据从javascript启动httphandler调用。使用jquery,您可以这样调用http处理程序: 如果处理程序返回true,则继续保存,否则使用“确定/取消”显示警报 如果用户选择“确定”,则继续保存 使用http处理程序的Javascript调用如下所示:

$.ajax{ async:false, cache:false, url:'YourHttpHandler.ashx', 数据:{tableName:your table name,record_id:your_id}, 成功: 函数数据、textStatus、xmlHttpRequest { ifdata.result==true 如果确认“继续?” { //继续保存 } } };
感谢您的建议-这两种方法都不能真正用于editform中的onrowinserting事件。我对这个问题采取了不同的方法,要求用户再次单击保存。
DialogResult myDialogResult;
myDialogResult = XtraMessageBox.Show("Content", "Title", MessageBoxButtons.YesNo);

if (myDialogResult == DialogResult.Yes)
{
    //yes was clicked
}

if (myDialogResult == DialogResult.No)
{
    //no was clicked
}