动态添加和删除JqGrid属性

时间:2013-06-24 10:33:21

标签: jquery jqgrid

使用Jqgrid MultiSelect选项。

它完美无缺。是否可以动态设置该属性?

例如:我单击一个按钮,然后应该启用多选择属性,直到不应该向用户显示该属性。

我如何在JqGrid中实现它?

由于

3 个答案:

答案 0 :(得分:2)

jqGrid不支持动态创建列。因此,如果不重新创建网格,则无法启用multiselect: true选项(请参阅the answer)。

如果您准备好进行实验,可以按照the answer中的建议进行操作,这些建议描述了如何通过一些限制来实现该功能。

更新:我之前的回答是旧的。如果您使用jQuery 1.8或更高版本,则必须将行events = $grid.data("events");更改为events = $._data($grid[0], "events");到子类reloadGrid事件。请参阅固定演示here

答案 1 :(得分:0)

你可以使用这段代码:

   var myGrid = $("#grid_name");
   $("#cb_"+myGrid[0].id).hide();

并显示它

   var myGrid = $("#grid_name");
   $("#cb_"+myGrid[0].id).show();

如果要隐藏每一行的所有复选框:

   $("input[name^='jqg_']").each(function() {
       $(this).hide();
   });

并显示:

   $("input[name^='jqg_']").each(function() {
       $(this).show();
   });

我为你准备了fiddle 希望它有所帮助。

答案 2 :(得分:0)

是的,你可以这样做

if(true)
    $("#GridID").jqGrid('setGridParam',{multiselect:true}); 
else
    $("#GridID").jqGrid('setGridParam',{multiselect:false});