自定义jqgrid的一些小技巧(三)

1.jqgrid在填充数据的时候,如果你的实体中有一个主键字段为id,那么jqgrid会自动将id映射为rowId行键,这样就很方便了,与数据库记录一一对应,请与序列号区别开。如果你的实体中的主键字段名不是id,而是userId或其他什么的名字,你要注意小心了,这时就映射不上了,jqgrid会将序列号作为rowId,此时与数据库记录号不对应了,所以操作时要小心了,那么如何让其他字段作为jqgrid的rowId呢

    解决方法:在colModel中将userId或其他字段的key属性设为true

colModel: [{ name: 'userId',width:0,hidden:true,  key: true },// 设置行号与数据库主键映射

    不想显示该列,就设置hidden属性为true,另外要注意colNames和colModel里面的字段个数要一致,不然会报错,虽然这里隐藏了该列,但是colNames也必须有这一列。


2.隐藏jqgrid底部工具栏上的增删改查图标按钮:


  不想要哪个图标,就设置为false即可

//navButtons
jQuery(grid_selector).jqGrid('navGrid', pager_selector,
    {  //navbar options
        edit: false,
        editicon: 'ace-icon fa fa-pencil blue',
        add: false,
        addicon: 'ace-icon fa fa-plus-circle purple',
        del: false,
        delicon: 'ace-icon fa fa-trash-o red',
        search: false,
        searchicon: 'ace-icon fa fa-search orange',
        refresh: true,
        refreshicon: 'ace-icon fa fa-refresh green',
        view: false,
        viewicon: 'ace-icon fa fa-search-plus grey',
    },

   效果:

   

3.分页按钮,就是上面那个图中的页码旁边的左右箭头不能点击

      原因:刚开始在网上查资料说是缺少loadonce属性(如果为ture则数据只从服务器端抓取一次,之后所有操作都是在客户端执行,翻页功能会被禁用),于是我设置为false也不生效。后来恍然大悟根本就和这个属性没关系,是因为我的记录数太少,只有当前一页,当然不能再点了,所以是置灰的。jqgrid默认一页10条记录,我当时只有9条,当晚添加了几十条以后,很快就可以点击了


4.分页按钮点击事件,在jqgrid中添加onPaging事件

onPaging: function (pgButton) {
//alert(pgButton);//分页按钮事件
},

  在这里可以获得点击的是前一个按钮还是下一个还是第一个或最后一个按钮,你自己可以自定义一些操作。不过一般不需要这样做,在加载jqgrid数据时,获取数据列表的接口一般都有分页参数,功能都能实现


  下一篇继续

   

  参考博客:https://blog.csdn.net/tarataotao/article/details/11111967 

https://blog.csdn.net/ksy/article/details/24659085?locationNum=4&fps=1 

https://zhidao.baidu.com/question/1882630733173341988.html

https://blog.csdn.net/wd4java/article/details/45768425

猜你喜欢

转载自blog.csdn.net/lvyuan1234/article/details/79804652
今日推荐