你好,请教一个问题,关于extjs 4的.

Ext.onReady(function(){varmyData=[['zhangsan','123','张三','普通用户'],['zhaoliu','789','赵六... Ext.onReady(function () {
var myData = [
['zhangsan', '123', '张三', '普通用户'],
['zhaoliu', '789', '赵六', '管理员']
];

var store = Ext.create('Ext.data.ArrayStore', {
fields: [
{ name: 'LoginName' },
{ name: 'LoginPwd' },
{ name: 'RealName' },
{ name: 'RoleName' }
],
data: myData
});

var grid = Ext.create('Ext.grid.Panel', {
store: store,
stateful: true,
columns: [
{
text: '<center>用户名</center>',
sortable: false,
dataIndex: 'LoginName'
},
{
text: '<center>密码</center>',
sortable: true,
dataIndex: 'LoginPwd'
},
{
text: '<center>真实姓名</center>',
sortable: true,
dataIndex: 'RealName'
},
{
text: '<center>角色</center>',
sortable: true,
dataIndex: 'RoleName'
}
],
height: 300,
width: 500,
title: '<center>用户信息表</center>',
renderTo: Ext.getBody()
});
})

上面的一段代码可产生一个表格显示上面myData中的数据,假设我现在已经能从后台得到正确的Json字符串格式如下 {"LoginName":"zhangsan","LoginPwd":"123","RoleName":"管理员","RealName":"张三"} 这里只是其中的一条,我能得到一个集合转换过来的多条数据转换成的json字符串,现在我要把Json显示到表格中我代码要怎么写啊.
展开
 我来答
dualmind
2012-03-16 · TA获得超过270个赞
知道小有建树答主
回答量:237
采纳率:0%
帮助的人:178万
展开全部
应当显式定义reader
var myStore = Ext.create("Ext.data.Store", {
model: 'UserInfo',
proxy: {
type: 'ajax',
url: 'JsonDemo.aspx',
reader: {type: 'json'}
},
autoLoad: true
});

{"LoginName":"zhangsan","LoginPwd":"123","RoleName":"管理员","RealName":"张三"}
这样的数据是这个store是解析不了的所以一直加载中.

如果reader中未定义root, 则返回json串应该是数组形式
[{"LoginName":"zhangsan","LoginPwd":"123","RoleName":"管理员","RealName":"张三"} ]

一般情况下, 除了传递数据外, 还要传递一些其他信息, 比如请求是否成功, 错误信息等等, 所以要定义root, 像这样
reader: {type: 'json', root: 'data'}
则json串应该是这样
{"success": true, "code": 1, "msg": "", "data":[{"LoginName":"zhangsan","LoginPwd":"123","RoleName":"管理员","RealName":"张三"} ]}

其实ext的demo&sample 和 ApiDoc 做的都非常好, 多看看, 比什么乱七八糟的教材都有用的多

参考资料: http://dev.sencha.com/deploy/ext-4.0.7-gpl/docs/index.html#!/api

来自:求助得到的回答
晴绚如光1X
2012-03-13 · TA获得超过182个赞
知道答主
回答量:72
采纳率:0%
帮助的人:58万
展开全部
很简单,用JsonStore,url属性设置为请求地址,从后台得到正确的Json字符串!
因为后台的数据格式多种多样,所以store也有多个!要区分开来!希望对你有用!
追问
var myStore = Ext.create("Ext.data.Store", {
model: 'UserInfo',
proxy: {
type: 'ajax',
url: 'JsonDemo.aspx'
},
autoLoad: true
});
我写了这么一段代码,应该没有问题的,我看到json已经请求成功了,但是浏览时候在表格里一直是加载中 . . .状态,不显示如何解决
追答
你在火狐地下用firebug看一下,返回的数据是什么!请求成功了,未必返回数据到前台了!
把代码贴全了我给你看看
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式