ExtJs4学习(七)MVC中的Store
生活随笔
收集整理的這篇文章主要介紹了
ExtJs4学习(七)MVC中的Store
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Ext.data.Store是extjs中用來進行數據交換和數據交互的標準中間件,不管是Grid還是ComboBox,都是通過它 實現數據讀取、類型轉換、排序分頁和搜索等操作的。
Ext.define('User', {extend: 'Ext.data.Model',fields: [{name: 'loginname', type: 'string'},{name: 'ip', type: 'string'}] });Store既能夠從本地數組中讀取數據,也能夠從server遠程讀取數據,當然還能夠server代理讀取,這些都得靠proxy實現,至于還有哪些區分,以及實現方式將再下一節闡述
為了更好的說清楚Store的使用方法,我們做例如以下樣例
后臺讀取數據
var store = Ext.create('Ext.data.Store', {model: 'User',pageSize:5,//每頁顯示條數,默認25proxy: {type: 'ajax',url: 'jsonServer.jsp',reader: {type: 'json',root: 'rows',totalProperty: 'total'},writer: {type: 'json'}} });怎么獲取數據 store.load({scope: this,callback: function(records, operation, success) {//獲取總記錄數//console.info(store.getCount());這個來源于對記錄的統計console.info(store.getTotalCount());//這個來源于后臺傳過來的total//獲取當前頁console.info(store.currentPage);Ext.each(records,function(record){console.info(record.get('loginname'));})} });//顯示第二頁數據 store.loadPage(2); //顯示上一頁數據 store.previousPage(); //顯示下一頁數據 store.nextPage();
后臺數據,我以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中, 從而能夠在別處輕松創建.
獲取方式?
var store = Ext.data.StoreManager.lookup('simpsonsStore')轉載于:https://www.cnblogs.com/gcczhongduan/p/4215547.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的ExtJs4学习(七)MVC中的Store的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: superslide 学习笔记
- 下一篇: [Effective C++ --029