动态构建easyUI grid

项目中有个业务场景,就是基于配置能够动态展示采集到数据库中的信息,基于sql语句,动态构建列表。

第一步:报表的增删查改,主要维护报表名称,列名(表头显示)和sql语句,列名跟sql语句输出字段保持一致

 

第二步,点击左侧的报表名称,动态构建grid,

 

 

关于easyui的动态列网上介绍也不多,经过多次尝试,找到一个实现思路。

主要在js代码的实现上,首先是动态构建grid的列名,然后触发grid的ajax机制请求后端的数据。

点击左侧列表,返回grid的列名,成功后调用grid的数据展示。

左侧点击事情的js代码:

  function BuildGrid(wId) {
            $.ajax({
                type: "get",
                dataType: "json",
                url: actionUrl,
                data: { action: 'dlistcol', keyWord: wId },
                success: function (data) {
                    grid(wId, [data.columns]);//填充columns,grid自身的ajax机制请求数据
                },
                error: function () {
                    alert("加载数据失败,请重试!");
                }
            });
        }
function grid(wId, col) {
            $('#sqlGrid').datagrid({
                url: actionUrl,
                queryParams: { action: "dlist", keyWord: wId, page: 1, rows: 15 },
                fitColumns: false,
                singleSelect: true,
                striped: true,
                pageNumber: 1,
                pagination: true,
                pageSize: 15,
                loadMsg: '数据加载中请稍后……',
                pageList: [15, 10, 20, 30, 50],
                columns: col
            });
        }

后端返回的列名json

{"columns":[{"title":"编号","field":"IDENTITY"},{"title":"交接表编号","field":"JJBNO"},{"title":"更新时间","field":"MODIFYON"}]}

 

 

 

posted @ 2016-07-26 11:29  京沙  阅读(849)  评论(0编辑  收藏  举报