0

スパークコンボボックスで強調表示された項目をプログラムで変更したい。選択したアイテムでコンボボックスポップアップを開くと、ポップアップで強調表示された色として表示されます.ポップアップが開いた状態で、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;
                }
     }
  }
4

1 に答える 1

0

次の 2 つのいずれかが機能するはずです。

FocusManager.SetFocus(DisplayObject)

また

 Combobox.selectedItem = ItemFromCombobox
于 2012-12-04T22:53:08.960 に答える