JqGrid查询动态展示colNames和colModel

JqGrid的colNames动态查询展示

由于正式环境后台服务器搭建在堡垒机,每次用plSql去查询数据寻找问题都要经过验证登录进去,一次还只能一个人连接远程连接数据库,老大让我做一个在系统上可以直接查询数据的附加小功能。 拿到任务后,经过分析,和以往jqGrid列表展示colNames固定了不同。唯一的难点就是jqGrid的colNames的动态展示和colModel的数据填充。首先想到的是网上查询下,看下前辈们的经验,一查例子很多。在自己搞的过程中还是遇到一些问题的,这里不多阐述,就把功能的实现说下。 ![很low的一个textarea+个button]在这里插入图片描述 首先,肯定是需要根据输入的sql把colNames确定下来。 后台代码如下:

    @ResponseBody
    @RequestMapping("/getData")
    public AjaxResult searchSql(ModelMap mm) {
        String bsqinfo = getParameter("bsqinfo");
        JqGrid paginate = (JqGrid) paginate(bsqinfo);
        mm.put("bsqinfo", bsqinfo);
        if (!Func.isEmpty(paginate)) {
            mm.put("paginate", paginate);
            return new AjaxResult().success(mm).setMessage("查询成功");
        } else {
            return new AjaxResult().setMessage("暂无数据");
        }
    }

前台:ajax返回成功后

在这里插入图片描述

先固定colNames,再后台查询一边填充colModel

function initGrid(rows, bsqinfo) {
        var _colnames = [];
        var _colmodel = [];
        //遍历固定colNames  ****
        $.each(rows[0], function (key, value) {
            _colnames.push(key);
            _colmodel.push({
                name: key,
                index: key
            })
        });
        //填充colModel  再走后台,正常查询即可 *** 
        jQuery(grid_selector).jqGrid({
            url: "${ctxPath!}/${code!}/list?bsqinfo=" + bsqinfo,
            shrinkToFit: false,
            colNames: _colnames,
            colModel: _colmodel,
            pager: pager_selector
        });
    }

最终结果如下(演示):

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值