2012-01-13 1 views
1

コンボボックスに問題があります。私はリモートデータを提供するためにJsonStoreで設定された単純なコンボボックスを構築しました。コンボボックスは問題なく最初のクリックで開き、JSONデータが要求され、Extが完全なドロップダウンリストを表示します。ExtJS 3コンボボックスとExt.data.JsonStoreを接続しても2回目の++クリックで開かない

しかし、2回目(時には3度目)のクリックで散発的にコンボボックスが開いたり、リモートデータをロードしたりすることはありません。

var config = { 
     autoLoad: true, 
     fields: [{ 
      name: 'name', 
      type: 'string' 
     }, { 
      name: 'count', 
      type: 'int' 
     }, { 
      name: 'created_at', 
      type: 'int' 
     }, { 
      name: 'updated_at', 
      type: 'int' 
     }], 
     root: 'result', 
     idProperty: 'id', 
     proxy: new Ext.data.HttpProxy({ 
      method: 'GET', 
      url: '/myHandler/loadDropDownList' 
     }) 
    }; 

自体がツールバーにロードされているコンボボックス:事前に

var config = { 
     height: 27, 
     items: [{ 
      xtype: 'tbtext', 
      text: 'Your preference?:', 
      // @todo inline style -> CSS 
      style: { 
       'font-weight': 'bold', 
       'color': '#15428B', 
       'font-family': 'tahoma,arial,verdana,sans-serif', 
       'font-size': '11px' 
      } 
     }, 
     '->', 
     // align the following items on the right side of the toolbar 
     { 
      xtype: 'combo', 
      itemId: 'table-combobox', 
      store: new myStore(), 
      valueField: 'name', 
      displayField: 'name', 
      value: ' - Please Choose - ' 
     }] 
    } 

感謝

は、ここに私の設定です!

答えて

0

コンボボックスが選択されるたびにデータベースにクエリを実行している可能性があります。ユーザーのセッション中にコンボボックスのデータを更新する必要がない場合(つまり、ユーザーがコンボボックスをクリックした時間の間にドロップダウン値が変化しない場合)、この設定をコンボボックスに追加できます。

mode:'local', 

(ExtJS4:queryMode:'local'

それはリモートストアが自動的にロードされたデータがかかりますし、データベースストアにそれがドロップダウンされるたびに再クエリしません。

+0

ええ、これはいいよ。私はそれを試してみる - あなたの応答をありがとう! –

+0

@silentCoderそれがあなたのために働くなら答えをチェックするのを忘れないでください(ここで左側のチェックマーク) – Geronimo

+0

うん、それは私のためにうまくいきませんでした。 http://docs.sencha.com/ext-js/3-4/#!/api/Ext.form.ComboBox-cfg-mode->初めて店舗を自動的にロードしたくない場合は、トリガーがクリックされ、** 'ローカル'に設定され、手動でストアをロードします**。そのためには、手動でストアをロードする必要がありますが、私のアプリケーションではそのようにしたくありません:-( –

関連する問題