【问题标题】:how to gray out jqgrid in save in inline edit in IE like Firefox does如何像Firefox一样在IE中的内联编辑中保存jqgrid
【发布时间】:2011-09-07 12:33:01
【问题描述】:

如果行在 jqGrid 的内联编辑中保存,FireFox 在保存操作期间使网格变暗(变灰)。

Internet Explorer 9 不会改变网格外观。

loadui 参数没有被使用,所以它应该有它的默认值(启用)。 如果网格被刷新,它不会像预期的那样在两个浏览器中灰显。 仅在 FireFox 中保存期间会出现灰显。

如何在 Internet Explorer 9 中也将保存中的网格(如果调用编辑 url)变灰?

更新

重现步骤:

  1. 打开http://trirand.com/blog/jqgrid/jqgrid.html
  2. 选择

功能(4.0)新

格式化程序操作

  1. 单击编辑操作按钮

  2. 点击保存操作按钮

观察到:

在 FireFox 中单击保存按钮会使网格变暗一段时间 在 IE 9 中单击保存按钮不会更改网格。

【问题讨论】:

  • 我无法重现您的问题。在我的测试站点上,在保存内联编辑行期间,灰色叠加层将设置在网格上。 IE9 中存在相同的行为。
  • @Oleg:谢谢。我更新了问题并提供了重现的步骤
  • @Oleg:此演示页面还有另一个问题:快速单击多行中的编辑/保存操作按钮会使多行进入编辑模式。在我的应用程序中,如果使用多选来重置选择,我也会遇到类似的问题。如何解决这个问题?

标签: jqgrid


【解决方案1】:

我分析了问题。原因是在内联编辑中使用了the line

async : false, //?!?

(注释“?!?”是jqGrid代码中的原始注释)。所以一般来说,阻止网格的覆盖将显示在保存行的jQuery.ajax 请求的开头,但由于async : false,Web 浏览器的 GUI 将阻塞直到完成。在complete 事件句柄中,覆盖将被隐藏,用户看不到任何东西。除 Firefox 之外的所有网络浏览器都不会显示叠加层。

要在不更改 jqGrid 代码的情况下解决问题,可以使用 jqGrid 的 ajaxRowOptions 选项。该选项不在the common list of jqGrid options 中记录,而是在saveRow 文档的末尾。的用法

ajaxRowOptions: { async: true }

作为 jqGrid 选项或作为新的默认选项

$.extend($.jgrid.defaults, {
    ajaxRowOptions: { async: true }
});

将解决内联编辑的问题。

如果使用“操作”格式化程序,the line 存在另一个问题

if ( $('#'+gid).jqGrid('saveRow',rid,  op.onSuccess,op.url, op.extraparam, saverow, op.onError,restorerow) ) {
    $("tr#"+rid+" div.ui-inline-edit, "+"tr#"+rid+" div.ui-inline-del","#"+gid+ ".ui-jqgrid-btable:first").show();
    $("tr#"+rid+" div.ui-inline-save, "+"tr#"+rid+" div.ui-inline-cancel","#"+gid+ ".ui-jqgrid-btable:first").hide();
}

可以看到这里 jqGrid 使用 saveRow 就像这里的异步函数一样。如果您将使用ajaxRowOptions: { async: true },则必须使 div div.ui-inline-editdiv.ui-inline-del 可见,并在您的 onSuccess 事件处理程序中隐藏 div.ui-inline-savediv.ui-inline-cancel

更新:抱歉,另一个代码 - 用作 saveRow 方法参数的 saverow 函数做同样的工作。因此,我认为所有 div 都将正确显示/隐藏,而无需在您的 onSuccess 事件处理程序中添加任何代码。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-06-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多