创建按钮 JqGrid

Create button JqGrid

我使用 JqGrid 构建一个 table,当我 select 一行时,我得到 onSelectRow 动作。在 table 中还有一个带有按钮的列,这是我使用格式化程序创建的。如何使 onSelectRow 事件在单击按钮时不起作用?

格式化程序:

function btnCopyZn(rowId, cellValue, rowObject) 
{
   return "<button onClick='clickFunctionCopyZn(" + rowId + ")' class='btn btn-xs btn-default'>" 
          + '<sapn class="glyphicon glyphicon-copy"></span>' 
          + "</button>";
}

函数复制:

function clickFunctionCopyZn(rowId) 
{
   if (rowId != null) 
   {
     var input = document.createElement("input");
     input.value = rowId;
     document.body.appendChild(input);
     input.select();
     document.execCommand("Copy");
     document.body.removeChild(input);
   }
}

onSelectRow:

model.tableTreeGrid.setGridParam({
onSelectRow: function () 
{
// function
}
});

如果您使用 Guriddo jqGrid,那么一个可能的解决方案是使用另一个名为 beforeSelectRow 的事件。

当用户单击该行时触发此事件,但在 select 他们之前。此事件应 return 布尔值 true 或 false。如果事件 return 为真,则 selection 完成。如果事件 return false 行未被 selected 并且定义的任何其他操作(onCellSelect 除外)都不会发生。

传递给此事件的参数是 rowid 和事件处理程序。

$("#jqGrid").jqGrid({
...
   beforeSelectRow : function( rowid, ev ) {
      if( condition_not_to_selectrow) {
         return false;
      } else {
         return true;
      }
   },
...
});