创建按钮JqGrid

时间:2017-11-20 07:45:08

标签: javascript jquery jqgrid

我使用JqGrid构建表,当我选择一行时,我得到了onSelectRow动作。在表中还有一个带按钮的列,我使用格式化程序创建。如何单击按钮使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
}
});

1 个答案:

答案 0 :(得分:1)

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

当用户单击该行但在选择它们之前,此事件将触发。此事件应返回布尔值true或false。如果事件返​​回true,则完成选择。如果事件返​​回false,则不选择该行,并且如果未定义任何其他操作(onCellSelect除外)。

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

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