Ext.data.Store 小细节收集

[size=large][color=red]1. 常用的初始化方法[/color][/size]
新建一个store一般的方法如下(一般从服务器获得数据)

var storeRecord = new Ext.data.Record.create(
[
{name: 'id', type: 'string', mapping:'projectId'},
{name: 'name', type: 'string', mapping:'projectName'},
{name: 'type', type: 'string', mapping:'type'}
]
);
var configProjectAll = new Ext.data.Store({
proxy : new Ext.data.HttpProxy({ // 加载的远程url
url : 'findConfigProjectAll.action'
}),
autoLoad : false, // 是否自动加载 一般设置false 需要时候在加载
sortInfo : {field: 'name', direction: 'ASC'},//DESC 排序依据和升or降
reader : new Ext.data.JsonReader({
totalProperty : 'totalProperty',
root : 'root', // 服务器返回json的根信息
id :'projectId' // 值为对应的mapping的值
},
storeRecord // 要加载的数据
)
});


2. 加载数据


store创建好后,需要调用load()函数加载数据,
加载成功后才能对store中的数据进行操作。
load()调用的完整过程如下面的代码所示。
store.load({
// params是在store加载时发送的附加参数。
params: {start:0,limit:20},

// records参数表示获得的数据(是一个数组)
// options表示执行load()时传递的参数
// success表示是否加载成功(true or false)
// 上面参数具体的用法可以通过ff进行查看,一目了然
callback: function(records, options, success){
// 可以通过参数sucess判断是否成功加载
},

// 用来指定回调函数执行时的作用域。
scope: store,// 一般不用

//Add为true时,load()得到的数据会添加在原来的store数据的末尾,
//否则会先清除之前的数据,再将得到的数据添加到store中。
add: true // 一般不用
});



[img]http://dl.iteye.com/upload/attachment/0064/9579/da3f52ce-ab76-316e-ada6-2f6ebddfae5c.jpg[/img]


3. 后台要返回对应的json格式的数据

{
"root":
[
{
"processVersion":2,
"projectId":84,
"projectName":"a",
"projectVersion":" ",
"type":1
},{
"processVersion":2,
"projectId":85,
"projectName":"b",
"projectVersion":"10.1",
"type":1
},{
"processVersion":2,
"projectId":86,
"projectName":"c",
"projectVersion":"10.2",
"type":1
}
],
"success":true,
"totalProperty":3
}


Store会自动根据传递来的数据进行加载
根据

{name: 'id', type: 'string', mapping:'projectId'},

进行自动匹配,多余的就不匹配.丢弃


[size=large][color=red]2. ext2.2 和 ext3.2 返回值success区别[/color][/size]
Ext.data.Store 加载时候
ext2.2 不用管前台放回的是false还是true
ext3.2 如果前台放回success false 无法加载数据 一定要是true

[size=large][color=red]3. stroe加载数据,传递额外信息.并获取[/color][/size]
比如:加载数据的同时要向客户端传递查询的sql语句的实现

[img]http://dl.iteye.com/upload/attachment/0063/4898/6200b7ab-a061-3e4a-bf6c-56315651c6ec.jpg[/img]

store.load({
params:{
start:0,
limit:pageSize
},
callback: function(records, options, success){
sql = this.reader.jsonData.sql; // sql 就是附加的json信息
}
});



[size=large][color=red]4. Store遍历 [/color][/size]

store.each(function(record){
var value = record.get(name);//Ext.data.Record.create 对应的name的值
});

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值