禁用jqgrid的编辑(添加,编辑和删除)按钮而不是隐藏(默认行为)
默认情况下,Jqgrid使用值为false的相应属性隐藏添加,编辑和删除按钮。 (例如:导航网格中的{add:false,edit:false,del:false}或其他方式)。
在这里,我想禁用这些按钮而不是隐藏。 任何人都可以帮助这个。 我的意思是说,想要将隐藏的默认function更改为禁用。
提前致谢。
旧答案描述了如何实现您需要的行为。
首先,您必须知道导航条的所有按钮的ID,这些按钮需要禁用。 id构建的规则可能会有所不同,具体取决于您使用(可以使用)的jqGrid的版本以及jqGrid的分支( 免费的jqGrid ,商业Guriddo jqGrid JS或版本<= 4.7中的旧jqGrid)。 我开发免费的jqGrid ,我建议你使用它,如果你没有任何特殊限制。 顶部和底部寻呼机的ID不同(请参阅toppager
pager
和toppager
选项)。 您可以使用开发人员工具来检查需要禁用的按钮的ID。
重要的是要理解,您应该在每次选择/取消选择行后更新导航器按钮的状态(禁用/启用)。 因此,您应该使用jqGridBeforeSelectRow
回调或jqGridBeforeSelectRow
事件。 要在使用jQuery UI CSS时禁用该按钮,您应该向按钮添加CSS类ui-state-disabled
和ui-jqgrid-disablePointerEvents
并启用,您应该删除这些类。 如果你使用Bootstrap CSS而不是jQuery UI CSS,那么你应该使用"disabled ui-jqgrid-disablePointerEvents"
而不是"ui-state-disabled ui-jqgrid-disablePointerEvents"
。 类ui-jqgrid-disablePointerEvents
在ui.jqgrid.css
( ui.jqgrid.min.css
)中定义。 如果您不使用免费的jqGrid,那么您应该按以下方式定义它:
.ui-jqgrid-disablePointerEvents { pointer-events: none; }
(参见ui.jqgrid.css
代码的ui.jqgrid.css
)。 如果要在不同设备上支持大多数所有Web浏览器(请参阅此处 ),则pointer-events: none
非常重要。
- 如果你想显示但处于禁用状态,那么你应该使用。
$("#edit_pays_grid").addClass('ui-state-disabled');
小提琴演示链接
- 或者,您也可以使用下面的代码,它们根本不会将按钮添加到网格中。
.navGrid(’#pays_grid_pager’,{edit:false,add:false,del:false,search:false,refresh:true})
小提琴演示链接
使用navButtonAdd()传递{add:false,del:false}时,添加和删除按钮根本没有添加到网格中。 要首先禁用它们,我们需要通过不将false值传递给add和del来添加它们。 添加它们后,我们可以禁用它们添加“ui-state-disabled”类。