如何删除jqgrid子网格扩展按钮,同时创建新的行



我使用jQrid版本3.8.1与子网格。在我的例子中,用户在进入新行时能够扩展子网格是没有意义的。由于父行还不存在,所以子网格也没有什么要显示的。那么,禁用或删除子网格扩展按钮(+按钮)的最佳方法是什么?

我看到了这个帖子,它可以工作,但似乎有点黑客。是否有更受支持的方法?

我不确定我是否正确理解了你的场景。我假设您添加了行,然后想在内联编辑新添加的行时隐藏"+"按钮。

确切的实现取决于如何添加行以及使用哪种形式的内联编辑。无论如何,我建议您隐藏在内联编辑开始时的"+"按钮,并在行可能具有子网格信息之后显示它。您可以使用下面的代码来隐藏"+"图标

$("#" + rowid).find("td.ui-sgcollapsed>a").hide();

此外,如果用户单击"subgrid"单元格(其中包含隐藏的"+"),则必须防止子网格的扩展。您可以通过删除sgcollapsed类(或sgexpanded类)来做到这一点:

$("#" + rowid).find("td.ui-sgcollapsed").removeClass("sgcollapsed");

要恢复原始状态(在保存编辑行之后),您需要显示图标($("#" + rowid).find("td.ui-sgcollapsed>a").show())并将类sgcollapsed添加回<td>元素($("#" + rowid).find("td.ui-sgcollapsed").addClass("sgcollapsed"))。

如果你确定一些行没有任何sbgrid,那么你可以通过设置空字符串或&nbsp;作为td.ui-sgcollapsed调用行的HTML内容来删除"+"图标。此外,还可以从单元格中解除click事件的绑定。

相关内容

  • 没有找到相关文章

最新更新