求教easyui datagrid如何动态生成列

发布于 2021-11-28 17:17:24 字数 62 浏览 698 评论 5

首先我的列数及field的个数是可能改变的 ,根据后台传来的数据动态获取,所以前台的clumn不能写死,求教如何动态的生成列

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(5

多情癖 2021-12-01 03:35:57

以前还做过动态改变一列的数据类型,比较蛋疼

月亮是我掰弯的 2021-11-30 14:04:55

拜托 我field是根据后台数据取的 不是写死的 现在已经解决了

冷默言语 2021-11-30 11:56:20

回复
@开源中国技术顾问 : 您的easyUI是如何做到动态生成列的,这两天刚好遇到这个瓶颈,求赐教,谢谢!

醉生梦死 2021-11-30 04:16:25

你不看demo的吗?! 这样,获取后台的数据,用如下格式就行了:

rows表示数据行,columns表示列,输出多少列 你后台控制输出.

{"total":3,"rows":[
	{"productid":"FI-SW-01","unitcost":10.00,"status":"P","listprice":16.50,"attr1":"Large","itemid":"EST-1"},
	{"productid":"K9-DL-01","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Spotted Adult Female","itemid":"EST-10"},
	{"productid":"RP-SN-01","unitcost":12.00,"status":"P","listprice":18.50,"attr1":"Venomless","itemid":"EST-11"}],
columns:[
{field:'itemid',title:'Item ID',width:80},
{field:'productid',title:'Product ID',width:80},
{field:'listprice',title:'List Price',width:80,align:'right'},
{field:'unitcost',title:'Unit Cost',width:80,align:'right'},
{field:'attr1',title:'Attribute',width:100},
{field:'status',title:'Status',width:60}]
}

多情癖 2021-11-29 20:23:55

 $.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;

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文