ASPxGridview - '中断'行插入事件

时间:2011-10-14 18:26:16

标签: devexpress aspxgridview

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

使用DevExpress ASPxGridView和编辑表单。

我需要'中断'RowInserting事件,以警告用户是否已有与其信息匹配的记录并允许它们继续或取消。

我已将检查(和取消)添加到OnRowInserting事件,并使用customJSProperties触发回调弹出窗口。

但是我仍然坚持如何让弹出'是'按钮来恢复(或重新启动)行插入。

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

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

2 个答案:

答案 0 :(得分:0)

首先,我发现了这篇文章Use "yes" / "no" in edit mode for boolean value

其次,我希望你的所有行都有像ID这样的唯一值。如果是这样,我建议像这样;

  • 使用OnRowInserting的{​​{1}}功能。 (查找here代码示例等。)
  • 检查您的插入ID是否已存在于数据存储中。 (运行查询时)
  • 如果您在数据存储区中,请使用XtraMessageBox之类的;
ASPxGridview

之前,添加XtraMessageBox.Show(“Content”, “Title”, MessageBoxButtons.YesNo); 命名空间。然后就可以使用它了;

DevExpress.XtraEditors

希望它能给你一个想法。如果你有Devexpress许可证,你可以在Devexpress Support询问。他们非常快速而且乐于助人。

答案 1 :(得分:0)

您可以使用自定义HttpHandler解决此问题。像这样:

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

    $.ajax({
        async: false,
        cache: false,
        url: 'YourHttpHandler.ashx',
        data: { tableName: "your table name", record_id: your_id },
        success:
            function (data, textStatus, xmlHttpRequest)
            {
                if(data.result==true) 
                    if(confirm('Continue?')) 
                    {
                        // continue with save 
                    }
            }
    });