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