欢迎来到天天文库
浏览记录
ID:49822619
大小:224.39 KB
页数:14页
时间:2020-03-04
《Ext中Store详解.pdf》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、Ext中Store详解Store.getCount()返回的是store中的所有数据记录,然后使用for循环遍历整个store,从而得到每条记录。除了使用getCount()的方法外,还可以使用each()函数,如下面的代码所示。1.store.each(function(record){2.alert(record.get('name'));3.});store.each(function(record){alert(record.get('name'));});Each()可以接受一个函数作为参数,遍历内部record,并将每个r
2、ecord作为参数传递给function()处理。如果希望停止遍历,可以让function()返回false。也可以使用getRange()函数连续获得多个record,只需要指定开始和结束位置的索引值,如下面的代码所示。1.varrecords=store.getRange(0,1);2.3.for(vari=0;i3、不知道record的id,也可以根据record本身的id从store中获得对应的record,如下面的代码所示。1.store.getById(1001).get('name')store.getById(1001).get('name')EXT还提供了函数find()和findBy(),可以利用它们对store中的数据进行搜索,如下面的代码所示。1.find(Stringproperty,String/RegExpvalue,[NumberstartIndex],[BooleananyMatch],[BooleancaseSens4、itive])find(Stringproperty,String/RegExpvalue,[Number在这5个参数中,只有前两个是必须的。第一个参数property代表搜索的字段名;第二个参数value是匹配用字符串或正则表达式;第三个参数startIndex表示从第几行开始搜索;第四个参数anyMatch为true时,不必从头开始匹配;第五个参数caseSensitive为true时,会区分大小写。如下面的代码所示:1.varindex=store.find('name','g');2.3.alert(store.getAt(i5、ndex).get('name'));varindex=store.find('name','g');alert(store.getAt(index).get('name'));与find()函数对应的findBy()函数的定义格式如下:1.findBy(Functionfn,[Objectscope],[NumberstartIndex]):NumberfindBy(Functionfn,[Objectscope],[NumberstartIfindBy()函数允许用户使用自定义函数对内部数据进行搜索。fn返回true时,表示查找成6、功,于是停止遍历并返回行号。fn返回false时,表示查找失败(即未找到),继续遍历,如下面的代码所示。1.index=store.findBy(function(record,id){2.returnrecord.get('name')=='girl'&&record.get('sex')==1;3.});4.5.alert(store.getAt(index).get('name'));index=store.findBy(function(record,id){returnrecord.get('name')=='girl'&&7、record.g通过findBy()函数,我们可以同时判断record中的多个字段,在函数中实现复杂逻辑。我们还可以使用query和queryBy函数对store中的数据进行查询。与find和findBy不同的是,query和queryBy返回的是一个MixCollection对象,里面包含了搜索得到的数据,如下面的代码所示。1.alert(store.query('name','boy'));2.3.alert(store.queryBy(function(record){4.returnrecord.get('name')=='g8、irl'&&record.get('sex')==1;5.}));alert(store.query('name','boy'));alert(store.queryBy(function(record){returnr
3、不知道record的id,也可以根据record本身的id从store中获得对应的record,如下面的代码所示。1.store.getById(1001).get('name')store.getById(1001).get('name')EXT还提供了函数find()和findBy(),可以利用它们对store中的数据进行搜索,如下面的代码所示。1.find(Stringproperty,String/RegExpvalue,[NumberstartIndex],[BooleananyMatch],[BooleancaseSens
4、itive])find(Stringproperty,String/RegExpvalue,[Number在这5个参数中,只有前两个是必须的。第一个参数property代表搜索的字段名;第二个参数value是匹配用字符串或正则表达式;第三个参数startIndex表示从第几行开始搜索;第四个参数anyMatch为true时,不必从头开始匹配;第五个参数caseSensitive为true时,会区分大小写。如下面的代码所示:1.varindex=store.find('name','g');2.3.alert(store.getAt(i
5、ndex).get('name'));varindex=store.find('name','g');alert(store.getAt(index).get('name'));与find()函数对应的findBy()函数的定义格式如下:1.findBy(Functionfn,[Objectscope],[NumberstartIndex]):NumberfindBy(Functionfn,[Objectscope],[NumberstartIfindBy()函数允许用户使用自定义函数对内部数据进行搜索。fn返回true时,表示查找成
6、功,于是停止遍历并返回行号。fn返回false时,表示查找失败(即未找到),继续遍历,如下面的代码所示。1.index=store.findBy(function(record,id){2.returnrecord.get('name')=='girl'&&record.get('sex')==1;3.});4.5.alert(store.getAt(index).get('name'));index=store.findBy(function(record,id){returnrecord.get('name')=='girl'&&
7、record.g通过findBy()函数,我们可以同时判断record中的多个字段,在函数中实现复杂逻辑。我们还可以使用query和queryBy函数对store中的数据进行查询。与find和findBy不同的是,query和queryBy返回的是一个MixCollection对象,里面包含了搜索得到的数据,如下面的代码所示。1.alert(store.query('name','boy'));2.3.alert(store.queryBy(function(record){4.returnrecord.get('name')=='g
8、irl'&&record.get('sex')==1;5.}));alert(store.query('name','boy'));alert(store.queryBy(function(record){returnr
此文档下载收益归作者所有