求教easyui datagrid如何动态生成列
首先我的列数及field的个数是可能改变的 ,根据后台传来的数据动态获取,所以前台的clumn不能写死,求教如何动态的生成列
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
首先我的列数及field的个数是可能改变的 ,根据后台传来的数据动态获取,所以前台的clumn不能写死,求教如何动态的生成列
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(5)
以前还做过动态改变一列的数据类型,比较蛋疼
拜托 我field是根据后台数据取的 不是写死的 现在已经解决了
回复
@开源中国技术顾问 : 您的easyUI是如何做到动态生成列的,这两天刚好遇到这个瓶颈,求赐教,谢谢!
你不看demo的吗?! 这样,获取后台的数据,用如下格式就行了:
rows表示数据行,columns表示列,输出多少列 你后台控制输出.
$.getJSON('${ctx}/system/privilege/role/getMenuFuntionTreeGrid',function(result){
$.each(result.columns, function(i, obj){
var column={};
column["field"]=obj;
if(obj=='name'){
column["width"]=150;
}else{
column["width"]=100;
column["formatter"]=function(value,rowData,rowIndex){
if(value){
var vv="{'role':{'id':'"+roleId+"'},'menu':{'code':'"+rowData.id+"'},'function':{'code':'"+rowIndex+"'},'application':{'code':'MDF'}}";
return "<input name='checkbox' type='checkbox' value="+vv+">" + value;
}
};
}
if(obj=='id'){
column["hidden"]=true;
}
columns.push(column);//当需要formatter的时候自己添加就可以了,原理就是拼接字符串.
});
$('#menuTree').treegrid({
method: "post",
url:'',
idField:'id',
treeField:'name',
dataPlain: true, //该属性用以启用当前 easyui-treegrid 控件对平滑数据格式的支持
parentField:'pid',
columns:[columns]
}).treegrid('loadData',result.values);
});
以实现后台数据
results.put("columns",columns);
results.put("values", datas);
return results;