【问题标题】:ASPxGridview - 'interrupting' row insert eventsASPxGridview - “中断”行插入事件
【发布时间】:2011-10-14 18:26:16
【问题描述】:

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

使用 DevExpress ASPxGridView 和编辑表单。

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

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

但我不知道如何让弹出窗口“是”按钮恢复(或重新启动)行插入。

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

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

【问题讨论】:

    标签: devexpress aspxgridview


    【解决方案1】:

    首先找到这篇文章Use "yes" / "no" in edit mode for boolean value

    其次,我希望您的所有行都具有唯一值,例如 ID。如果是这样,我建议这样的方式;

    • 使用ASPxGridviewOnRowInserting函数。 (查找here 代码示例等)
    • 检查您的插入 ID 是否已在您的数据存储中。 (运行查询)
    • 无论是否在您的数据存储中,请使用XtraMessageBox like;
    XtraMessageBox.Show(“Content”, “Title”, MessageBoxButtons.YesNo);
    

    在此之前,添加 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 许可证,你可以在Devexpress Support 中询问。它们非常快速且乐于助人。

    【讨论】:

      【解决方案2】:

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

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

      使用 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 
                      }
              }
      });
      

      【讨论】:

      • 感谢您的建议 - 这些方法都不适用于编辑表单中的 onrowinserting 事件。我对这个问题采取了不同的方法,要求用户再次点击保存。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多