dynamic - Jqgrid在回调函数上更改导航属性
问题描述
我尝试在回调函数中更改 jqgrid 上的导航栏属性,但没有成功。
网格在用户选择一个时间段后显示。取决于时间段是打开还是关闭,用户可以或不能编辑、添加、删除行。所以导航栏需要动态改变属性。
我的代码如下所示:
$('#mygrid').jqGrid({
// some properties of my grid that works fine
pager : '#gridpager'
});
$("#mygrid").bind("jqGridLoadComplete",function(){
$.ajax({
url: 'checkifperiodopen.php',
data: {
$("#period").val()
},
success: function(data){
if(period==='open'){
jQuery("#mygrid").jqGrid('navGrid','#gridpager',{add:false,edit:false,del:true,search:true,refresh:true});
}
if(period==='close'){
jQuery("#mygrid").jqGrid('navGrid','#gridpager',{add:true,edit:true,del:true,search:true,refresh:true});
}
}
});
});
$('#validChossenPeriod').click(function () {
ajax call to get data on choosen period
success:function(data){
$("#mygrid").jqGrid('clearGridData');
$("#mygrid").jqGrid('setGridParam', { datatype: 'local'});
$("#mygrid").jqGrid('setGridParam', { data: data});
$("#mygrid").trigger('reloadGrid');
}
});
解决方案
为什么这么复杂?还有另一种明确的方法可以做到这一点
var view_buttons = true;
if(condition_to_hide) {
view_buttons = false;
}
$("#mygrid").jqGrid('navGrid','#gridpager', { add:view_buttons, edit:view_buttons, del:view_buttons, search:true, refresh:true});
推荐阅读
- javascript - 如何仅在 k6 负载测试中为每个 VU 使用/分配 CSV 文件中的唯一数据行
- sql - 如果只有第一条记录和最后一条记录,如何在查询中显示创建的记录数
- c# - Unity 播放动画选定的次数
- ssl - 使用 JGIT 克隆 repo 后无法从 CMD 中提取 ..获取 SSL 证书问题:证书链中的自签名证书
- metal - 在金属中绘制 rgb5a1 纹理格式
- .net - 什么可能导致 XUnit 测试批量失败但单独成功?
- r - 如何将两个字符串转换为相同的编码?使用 R
- php - 使用 Webklex\IMAP 在 O365 服务器上获取文件夹的问题
- vba - 我们如何通过 vba 为 ppt 添加浮动工具栏?
- excel - 您知道如何将多张工作表导出到一个没有 .Select 和 .ActiveWorkbook 的 pdf 文件吗?