EXTJS 3.2 幾個最經常使用的高級store


    ExtJS的數據傳輸與處理配置至關麻煩,從Ext.data.Connection類到Ext.data.Record到Ext.data.Store,以及一系列proxy和Reader,每每讓初學者很頭疼。新學同樣東西立刻就去硬啃這些知識是很是不可取的,本人的經驗是先用最簡單的,等你熟練了再去深刻理解其中的設計。 node

    還好ExtJS提供了幾個用於處理數據傳輸的高級Store,在工做中很是實用: json

  一:  Ext.data.SimpleStore 數組

       能夠認爲:SimpleStore=Store+MemoryProxy+ArrayReader app

      也就是說這個簡潔版本的store專門用來處理返回爲數組格式的數據。 this

      看以下代碼: url

....
   store : new Ext.data.SimpleStore({
                autoLoad : true,
	        url : __ctxPath + '/system/loadItemDictionary.do',
	        fields : ['proTypeId', 'typeName'],
		baseParams : {
		          itemName : label
			     }
			   }),
   ....

   指定url  指定fields  就能夠一部請求後臺數據,固然後臺必須返回的蘇數組格式的數據。很簡單吧,這個store經常使用語表單中的下拉框取值。


二:Ext.data.JsonStore spa

    

this.store = new Ext.data.JsonStore({
		url : __ctxPath + "/communicate/listSmsMobile.do",
		root : "result",
	        totalProperty : "totalCounts",
		remoteSort : true,
		fields : [{
		name : "smsId",
		type : "int"}, "sendTime", "recipients", "phoneNumber","userId", "userName", "smsContent", "status"]});
		this.store.setDefaultSort("smsId", "desc");
		this.store.load({
				params : {
					start : 0,
					limit : 25
					}
				});

  JsonStore將JsonReader和HttpProxy整合在一塊兒了,提供了一個從後臺獲取json數據的簡便方法,分頁也很是方便。 設計

   後臺返回標準的json數據既能夠。 code


 三:Ext.data.GroupingJsonStore ip

    

this.store = new Ext.data.GroupingStore({
			proxy : new Ext.data.HttpProxy({
			url : __ctxPath + "/flow/nodesFieldRights.do?  defId="+ this.defId
			}),
			reader : new Ext.data.JsonReader({
				root : "result",
				id : "id",
				fields : [ {
					name : "rightId",
					type : "int"
				}, {
					name : "mappingId",
					type : "int"
				}, "taskName", {
					name : "readWrite",
					type : "int"
				}, {
					name : "refieldId",
					type : "int"
				}, "fieldName", "fieldLabel" ]
			}),
			groupField : "taskName"
		});
		this.store.load();

  上面的groupField標識按某一個字段進行分組顯示

相關文章
相關標籤/搜索