日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

ExtJs4学习(七)MVC中的Store

發(fā)布時間:2024/4/17 c/c++ 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ExtJs4学习(七)MVC中的Store 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

Ext.data.Store是extjs中用來進行數(shù)據(jù)交換和數(shù)據(jù)交互的標準中間件,不管是Grid還是ComboBox,都是通過它 實現(xiàn)數(shù)據(jù)讀取、類型轉(zhuǎn)換、排序分頁和搜索等操作的。

Ext.define('User', {extend: 'Ext.data.Model',fields: [{name: 'loginname', type: 'string'},{name: 'ip', type: 'string'}] });
Store既能夠從本地數(shù)組中讀取數(shù)據(jù),也能夠從server遠程讀取數(shù)據(jù),當然還能夠server代理讀取,這些都得靠proxy實現(xiàn),至于還有哪些區(qū)分,以及實現(xiàn)方式將再下一節(jié)闡述

為了更好的說清楚Store的使用方法,我們做例如以下樣例

var store = Ext.create('Ext.data.Store', {model: 'User',proxy: {type: 'memory',data:[{loginname:'admin',ip:'192.168.1.2'},{loginname:'guest',ip:'192.168.1.5'}]},//autoLoad:true//配置了此項,表明數(shù)據(jù)集自己主動載入 });一些經(jīng)常用法

//載入數(shù)據(jù) store.load(); //加入數(shù)據(jù) store.add({loginname:'administrator.com',ip:'192.168.1.8'}); //讀取數(shù)據(jù) store.each(function(record){console.info(record.get('loginname'));alert(record.get('loginname')); }); //過濾 //store.filter("loginname", /\.com$/);依據(jù)單個屬性域(field)過濾: store.filter([{property: "loginname", value: /\.com$/},{filterFn: function(item) { return item.get("ip") == '192.168.1.5'; }} ]); //查找某條記錄 var record = store.find('loginname','guest'); //獲取store中第一條記錄的快捷方法. var record = store.first(); //獲取指定index處的記錄 var record = store.getAt(2); //獲取store中記錄的數(shù)量 var count = store.getCount; //獲取store中最后一條記錄的快捷方法 var record = store.last();

后臺讀取數(shù)據(jù)

var store = Ext.create('Ext.data.Store', {model: 'User',pageSize:5,//每頁顯示條數(shù),默認25proxy: {type: 'ajax',url: 'jsonServer.jsp',reader: {type: 'json',root: 'rows',totalProperty: 'total'},writer: {type: 'json'}} });
怎么獲取數(shù)據(jù)

store.load({scope: this,callback: function(records, operation, success) {//獲取總記錄數(shù)//console.info(store.getCount());這個來源于對記錄的統(tǒng)計console.info(store.getTotalCount());//這個來源于后臺傳過來的total//獲取當前頁console.info(store.currentPage);Ext.each(records,function(record){console.info(record.get('loginname'));})} });//顯示第二頁數(shù)據(jù) store.loadPage(2); //顯示上一頁數(shù)據(jù) store.previousPage(); //顯示下一頁數(shù)據(jù) store.nextPage();

后臺數(shù)據(jù),我以jsp的形式提供

<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%String[] persons = new String[10];persons[0] = "{loginname : 'tom' , ip : '192.168.1.1'}";persons[1] = "{loginname : 'jack' , ip : '192.168.1.2'}";persons[2] = "{loginname : 'mary' , ip : '192.168.1.3'}";persons[3] = "{loginname : 'jone' , ip : '192.168.1.4'}";persons[4] = "{loginname : 'ada' , ip : '192.168.1.5'}";persons[5] = "{loginname : 'alex' , ip : '192.168.1.6'}";persons[6] = "{loginname : 'lucy' , ip : '192.168.1.7'}";persons[7] = "{loginname : 'jms' , ip : '192.168.1.8'}";persons[8] = "{loginname : 'smile' , ip : '192.168.1.9'}";persons[9] = "{loginname : 'somnus' , ip : '192.168.1.10'}";int pageSize = Integer.parseInt(request.getParameter("page").toString());int limit = Integer.parseInt(request.getParameter("limit").toString());System.out.println("pageSize="+pageSize+ " limit="+limit);StringBuffer personName = new StringBuffer();personName.append("{");personName.append("total : 10,");personName.append("rows : [");int min = (pageSize-1)*limit;int max = pageSize*limit;if(max > 10){max = 10;}for(int i = min ; i < max ; i++){personName.append(persons[i]);if(i < max - 1){personName.append(",");}};personName.append("]");personName.append("}");response.getWriter().write(personName.toString()); %>

最后介紹一個Store的一個屬性:storeId

當前store對象的唯一標識ID. 當此值存在時, 當前Store將被注冊到Ext.data.StoreManager中, 從而能夠在別處輕松創(chuàng)建.

獲取方式?

var store = Ext.data.StoreManager.lookup('simpsonsStore')

轉(zhuǎn)載于:https://www.cnblogs.com/gcczhongduan/p/4215547.html

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的ExtJs4学习(七)MVC中的Store的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。