2012-12-04 57 views
0

我想以編程方式更改火花組合框中突出顯示的項目。 當組合框彈出打開與所選項目它顯示爲高亮顏色在popup.With彈出現在打開我通過設置的selectedIndex和selectedItem屬性詳細性能文本輸入得到了與給定的選擇項改變,但強調編程改變所選項目顏色仍然顯示以前的值。如何將突出顯示的項目更改爲所選項目。 任何人都可以爲這個提供解決方案。如何以編程方式更改火花組合框中突出顯示的項目

public class AutoSortComboBox extends ComboBox{ 



    public function AutoSortComboBox():void { 
       super(); 
    } 
    protected function sortDataProvider(descending:Boolean):void{ 

       var arrColl:ArrayCollection = this.dataProvider as ArrayCollection; 
       var selectedItem:Object = this.selectedItem as Object; 
       this.selectedIndex = -1; 
       var dataSortField:SortField = new SortField(); 
       dataSortField.name = "label"; 
       dataSortField.numeric = false; 
       dataSortField.descending = descending; 
       /* Create the Sort object and add the SortField object created earlier to the array of fields to sort on. */ 
       var numericDataSort:Sort = new Sort(); 
       numericDataSort.fields = [dataSortField]; 
       arrColl.sort = numericDataSort; 
       arrColl.refresh(); 
       if(selectedItem != null) 
       { 
        for(var i:int=0;i<arrColl.length;i++) 
        { 
         if(selectedItem.label == arrColl[i].label) 
          this.selectedIndex = i; 
        } 
        this.selectedItem = selectedItem; 
       } 
    } 
    } 
+0

我不清楚,如果你問如何風格在Spark ComboBox中突出顯示的項目;或者如果您詢問如何更改突出顯示的項目。 – JeffryHouser

+0

對不起,我不清楚我問如何改變哪個項目被突出顯示 – Trinu

+0

有一個在組合框中changeHighlightedSelection的方法是內部的我希望通過編程調用changeHighlightedSelection方法。如何調用該方法更改突出顯示的選擇項 – Trinu

回答

0

這兩個中的一個應該工作:

FocusManager.SetFocus(DisplayObject) 

Combobox.selectedItem = ItemFromCombobox 
+0

它們都不起作用。你可以提供另一種解決方案 – Trinu

+0

試試這個callLater(function():void {Combobox.selectedItem = ItemFromCombobox}); –

+0

嘿Raja Jaganathan感謝您的解決方案。我試着用你給的callLater。它的工作,但問題是我有兩個突出顯示的項目,現在一個是上一個選定的項目,另一個是新選擇的項目。如何刪除以前突出顯示的項目。 – Trinu

相關問題