您的位置:首页 > 产品设计 > UI/UE

动态构建easyUI grid

2016-07-26 11:29 453 查看
项目中有个业务场景,就是基于配置能够动态展示采集到数据库中的信息,基于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"}]}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: