ext 4.2.1 gridpanel动态创建列和数据

dlam9 2013-09-23 09:50:32
original.fieldsNames.add("{name:'"+str+"'}")
original.colName.add("{text:'"+str+"',dataIndex:'"+str+"'}")
在后台进行拼装的数据 str是列名


function fnData(msg){
Ext.define('original',{
extend: 'Ext.data.Model'
, fields: msg.fieldsNames
});

if (Ext.getCmp("originalGrid") != undefined) {
Ext.getCmp("originalGrid").destroy();
}
if (Ext.getCmp("originalStore") != undefined) {
Ext.getCmp("originalStore").remove();
}
//
var store = Ext.create('Ext.data.JsonStore', {
model: 'original',
id:'originalStore',
proxy: {
type: 'ajax',
root:'root',
totalProperty:'totalCount'
}
});

var cm = Ext.create('Ext.grid.ColumnModel',msg.colName)

// create the grid
var grid = Ext.create('Ext.grid.Panel', {
frame: true,
id:'originalGrid',
title: '原始指标列表',
store: store,
columns: [
cm
],

renderTo:'dataList'
});
}
msg是后台返回的内容 但是这样还是不行 求帮忙指教指教
...全文
169 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
comeonweina 2014-05-08
  • 打赏
  • 举报
回复
今天遇到了同样的问题,楼主是怎么解决的,可否分享下~感激不尽~
dlam9 2013-09-23
  • 打赏
  • 举报
回复
引用 5 楼 xiaomm627 的回复:
列模型建了吗? ext4我没研究过,3我到是很熟悉。 在3一般都要有列模型: var cm = new Ext.grid.ColumnModel(head); head是json对象,类似这样:[{header:'编号',dataIndex:'user_Id'},{header:'姓名',dataIndex:'user_Xingm'}] 然手构建表格时把列模型填充进去: var grid = new Ext.grid.GridPanel({ ..... cm:cm, ..... }) 你试试这样行不行
这样试过了 好像也还是不行的
xiaomm627 2013-09-23
  • 打赏
  • 举报
回复
列模型建了吗? ext4我没研究过,3我到是很熟悉。 在3一般都要有列模型: var cm = new Ext.grid.ColumnModel(head); head是json对象,类似这样:[{header:'编号',dataIndex:'user_Id'},{header:'姓名',dataIndex:'user_Xingm'}] 然手构建表格时把列模型填充进去: var grid = new Ext.grid.GridPanel({ ..... cm:cm, ..... }) 你试试这样行不行
dlam9 2013-09-23
  • 打赏
  • 举报
回复
引用 2 楼 xiaomm627 的回复:
后台返回的数据少了个root标志吧,数据传到前台后,前台无法获取数据的。
有root的 主要是现在跟数据没关系 而是列名都不出来
xiaomm627 2013-09-23
  • 打赏
  • 举报
回复
类似于这样: {root:[{后台数据}]}
xiaomm627 2013-09-23
  • 打赏
  • 举报
回复
后台返回的数据少了个root标志吧,数据传到前台后,前台无法获取数据的。
locc 2013-09-23
  • 打赏
  • 举报
回复
长 这么大了 没玩过ext 啊。。
dlam9 2013-09-23
  • 打赏
  • 举报
回复
引用 7 楼 liuqiang2414 的回复:
你要实现的功能就是gridPanel中的column从后台动态获得数据? 如果这样的话 尝试以下方法: columns[{ header : "姓名", width : 100, dataIndex : 'name' }] 希望对你有用。 谢谢
主要是这个columns是要动态的 这样的话就写死了 不过问题已经得到解决了
liuqiang2414 2013-09-23
  • 打赏
  • 举报
回复
你要实现的功能就是gridPanel中的column从后台动态获得数据? 如果这样的话 尝试以下方法: columns[{ header : "姓名", width : 100, dataIndex : 'name' }] 希望对你有用。 谢谢

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧