2011-10-05 16 views
0

如果父值具有唯一標識符,我已鏈接組合。 但是,我有四個選項在父組合中應該具有相同的值組合。我在商店中給了這些相同的標識符,但是當我選擇它們時,組合中的值不會改變。Extjs鏈接的組合 - 讓父值有相同的子值

有沒有辦法做到這一點,而不重複所有的值?

房屋

var fields = [ 
       ["s","Name"], 
       ["s","ID"], 
       ["cc","City"], 
       ["s","Cost"], 
       ["r","Status"] 
       ]; 

var operators =[ 
       [1, "s","begins with"], 
       [2, "s","equals"], 
       [3, "s","contains"], 
       [4, "s","ends with"], 
       [5, "cc", "equals"], 
       [6, "r", "equals"] 
       ]; 

組合

xtype:'combo',        
         id: 'fieldSelecCmb1',             
         width: 125,          
         displayField: 'field', 
         valueField: 'fid',      
         hideLabel: true, 
         store: storeField , 
         triggerAction: 'all', 
         mode: 'local', 
         value: "Choose a field", 
         listeners:{ 
          select: { 
           fn:function(combo, value){           
            var id = combo.id; 
            var rowNo = id.charAt(id.length-1); 
            var opCombo = Ext.getCmp("optionSelectCmb"+rowNo); 
            opCombo.clearValue(); 
            opCombo.store.filter("fid", combo.getValue());         

           } 
          } 

回答

0

可以使用filterBy函數。方法如下:

opCombo.store.filterBy(function(record, id) { 
     if((record.data.id == 1 || record.data.id == 2) && (this.id == 1 || this.id == 2)) { 
    // specify index that you want to exclude when getting say parent combo value 1 or 2 
      return false; // excludes the record in the store 
     } else { 
      return true; // includes the record in the store. 
     } 
    } , combo); 
+0

所有這些都是顯示子組合中的每個值而不是選擇的值。我遇到的問題是幾個父項選項具有相同的子選項,但父項顯示這3個(名稱)中的第一個,無論選擇哪個 – pm13