2013-05-30 28 views
0

我有一個Extjs應用程序,它使用了很多組合框(帶有附加的服務調用)。 這些組合中的每一個都有一個附加到它的休息存儲,它提供了一種從服務器獲取數據的方法。Extjs 4.1:每個組合多個ajax調用

我的問題是,即使所有商店的autoLoad爲false,但這些組合框的每個實例都有多個休息呼叫。

我想,無論是:

  • 找到一個方法來限制商店僅1調用(通過配置) - 沒有必要超過1個調用,數據沒有按「T改變,往往

  • 找到一種方法,第一負載後從靜止代理更改商店的代理內存代理 - 這將允許組合做盡可能多的負載()的,因爲它想要的是,不會有更多的電話通過服務器。

編輯: 爲了說明我的組合的是如何創建:

Ext.define('SelectBox', { 
     extend : 'Ext.form.field.ComboBox', 
     alias : 'widget.selectBox', 
     editable : false, 
     allowBlank : true, 
     displayField : 'label', 
     valueField : 'value', 
     forceSelection : true, 
     minChars : 1, 
     queryMode: "local" //added this after the answer was given 
    }); 

我呼籲他們:

{ 
    xtype:"selectBox", 
    store: "someStore" 
} 
+0

您的問題很可能源於您配置組合框的方式。你能分享你的組合框代碼嗎? – Izhaki

+0

增加了一些代碼 – Mike

+0

你的配置沒問題。我知道這已經得到了回答,所以你們都很好? – Izhaki

回答

1

實際上需要設置組合的queryMode當地以便在客戶端進行過濾操作。不需要與代理混淆。而且你的組合也會更加活躍!

請參閱this previous answer第二部分中的示例。

爲此,您還必須確保您存儲的remoteFilter(和可能的remoteSort)選項設置爲false。

+0

正是我在找的東西。非常感謝! – Mike