主题:关于josonreader的问题
发表时间: 2008-07-09 08:46
我使用json读取grid中的数据为什么,这样可以载入参数
[code]var oreader = new Ext.data.JsonReader({root: 'topics', totalProperty: 'totalCount', id: 'uid'}, ['uid','account','password','gid']);[/code]
下面这样就不行了呢?
[code]
var str = "{root: 'topics', totalProperty: 'totalCount', id: 'uid'}, [" + column + "]" ;
var oreader = new Ext.data.JsonReader(str);
[/code]
你可以查看一下extjs的API,就可以知道了, JsonReader( Object meta, Object recordType ) 传递的是两个对象。
那有什么方法可以把这个字符串转成对像呢?
以下内容为程序代码: ['uid','account','password','gid'] |
var oreader = new Ext.data.JsonReader(Ext.decode(str));
试试,不知道好使不好使
那下面这个怎么就不行了
[code]
showColumn =" {header:'ID',width:50,sortable:true,dataIndex:'uid'},{header:'用户名', width:300,sortable:true,dataIndex:'account'},{header:'密码', width:150,sortable:true,dataIndex:'password'},{header:'用户组',width:100,sortable:true,dataIndex:'gid'}";
var colModel = new Ext.grid.ColumnModel([
new Ext.grid.RowNumberer(),
sm,
Ext.decode(showColumn)
]);
[/code]
var param = [
new Ext.grid.RowNumberer(),
sm
];
showColumn = '[' + showColumn +']';
var tmp = Ext.decode(showColumn);
for(var i=0;i<tmp.length;i++){
param.push(tmp[i]);
}
var colModel = new Ext.grid.ColumnModel(param);
showColumn =" {header:'ID',width:50,sortable:true,dataIndex:'uid'},{header:'用户名', width:300,sortable:true,dataIndex:'account'},{header:'密码', width:150,sortable:true,dataIndex:'password'},{header:'用户组',width:100,sortable:true,dataIndex:'gid'}";
var param = [
new Ext.grid.RowNumberer(),
sm
];
showColumn = '[' + showColumn +']';
var tmp = Ext.decode(showColumn);
for(var i=0;i<tmp.length;i++){
param.push(tmp[i]);
}
var colModel = new Ext.grid.ColumnModel(param);
建议多补一下javascript基础。
其它版块: