2010-07-22 82 views
0

當我嘗試調用或重新加載數據存儲時,試圖使用選擇偵聽器中的組合框中的ajax填充A ENTIRE GRID時,我仍舊獲取舊值,而不是新的。我必須獲得新的值,因爲根據在下拉列表中選擇參數的文本字段和其他編輯器將使用AJAX從服務器讀取JSON數據填充,與獲取遠程數據Ext.data.Store不會立即重新加載

var cm = new Ext.grid.ColumnModel({ 
     defaults: { 
      sortable: true 
     }, 
     columns: [{ 
      id: 'ci', 
      header: 'Periodo Declarado', 
      dataIndex: 'ci', 
      width: 150, 
      editor: new fm.ComboBox({ 
       typeAhead: true, 
       triggerAction: 'all', 
       transform: 'PerDecl', 
       lazyRender: true, 
       listClass: 'x-combo-list-small', 
       mode:'local', 
       listeners:{ 
       expand: function (combo){ 
       //alert("asd"); 
      }, 
      collapse: function(combo,record,number){ 
      }, 
       select:function(v, params, record){ 
       ds_random_employee_data_active.remove(); 
       var varAnio2=v.getValue(); 
       var ds_random_employee_data_active2=ds_random_employee_data_active; 
       ds_random_employee_data_active2.load({ params: { anio: varAnio2 } }); 
       Ext.each(ds_random_employee_data_active2.data.items, function(record){ 
        alert(record.data.ut); 
       }); 
       //setTimeout("tres("+ v +"[]);",1000); 

      }} 



      }) 
     } 

*另一個組合框accoding ********** others列************************

回答

0

這是因爲它異步加載。

+0

¿怎麼可能我打算這麼做?你有什麼建議? – christian130 2010-07-22 18:46:56

0

如果您(重新)加載數據存儲,則調用是異步的,因此任何依賴更新數據的操作都必須在回調中完成。您可以處理商店的load事件。例如,請參閱我的回答here

1

[已解決]感謝所有的說法,我想出了四個小時或更長時間以後,我的方式似乎是bmoeskau,但我確實閱讀了bmoeskau後我有解決方案 謝謝你所有

store.load({PARAMS:{anio:varanio},回調:函數(){//這裏來的循環或其他指令 }}) 這是一個很好的論壇,聊天