【问题标题】:check if the row selected is newly added检查所选行是否是新添加的
【发布时间】:2016-02-24 08:34:05
【问题描述】:

我有一个带内联编辑的 jgrid,当我单击寻呼机按钮中的“+”时,它会在可编辑模式下添加一行。当该行处于可编辑模式时,我再次单击“+”,此时我想显示一条消息“网格处于编辑模式,请保存”。

document.getElementById('partnerGrid_iladd').onclick = function() {

  var rowid = jQuery("#partnerGrid").jqGrid('getGridParam', 'selrow');
  var edited = "";
  var ind = jQuery("#partnerGrid").getInd(rowid, true);
  if (ind != false) {
    edited = $(ind).attr("editable");
  }

  if (edited === "1") {
    alert("There is an row in editable mode  ,Please save the row before adding another row");
    return;

  }
}

但是在网格中添加一行并且该行处于添加模式后,这会被触发。所以我想检查该行是否是新行,如果该行是新行我不想抛出错误点击 +。

【问题讨论】:

    标签: javascript jqgrid free-jqgrid


    【解决方案1】:

    有很多方法可以实现您的要求。您没有发布有关您所做工作的足够详细信息,但是由于您测试了editable 属性,我猜您写的是inlineNav 添加的“+”按钮。如果 jqGrid 在单击“添加”按钮时调用 addRowaddRow 方法有 beforeAddRow 回调和 jqGridInlineBeforeAddRow 事件,您可以使用它们。回调/事件应返回 false 以防止添加新行并开始编辑。此外,您可以使用 jqGrid 的savedRow 参数来测试其他行是否处于编辑模式。您可以使用getGridParam 获取"savedRow" 参数。返回的值是保存的行数组,其中包含开始编辑之前的值。因此,如果数组刨丝器的length 为 0,则其他行仍在编辑中。

    【讨论】:

    • 如何在创建网格后添加这些事件,我尝试使用 setgridparam 它不起作用
    • @Ekata:我不确定你指的是哪些事件。例如,您可以使用$("#gridid").bind("jqGridInlineBeforeAddRow", function (e, options) {... return false;}) 来使用jqGridInlineBeforeAddRow 事件。您甚至可以在创建网格之前(或创建之后)将事件绑定到网格。
    猜你喜欢
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多