2008-08-29 8 views

答えて

35

デフォルトアイテムを選択する必要がない場合は、というプロパティを使用し、selectedIndexを-1に設定することができます。これは、ユーザーが別の値を選択するまで、選択した値としてpropmtを設定した文字列を表示します。ただし、オプションのリストには表示されません。

+3

これはまだSpark DropDownListで動作します - ありがとう – danjp

1

これまで私がこれを扱ったのは、新しいコレクションを作成して、コンボボックスを開き、元のソースへの変更を聞きます(mx.BindingUtils.ChangeWatcherを使用)。そのような通知を受け取ると、私はカスタムデータプロバイダを再作成します。

私はこれにアプローチするより良い方法を知りたがっています。私はちょうどこの質問を監視します。

4

今日この問題を遭遇し、解決策を共有したいと考えました。

私は、オブジェクトをデータプロバイダとして持つArrayCollectionを持つComboBoxを持っています。アプリケーションが実行されると、RemoteObjectを使用してArrayCollection/Objectsを取得します。その呼び出しのための私のイベントハンドラでは、私はちょうどそれがのArrayCollectionの先頭に別のオブジェクトを追加し、それを選択します:

var defaultOption:Object = {MyLabelField: "Select One"}; 
myDataProvider.addItemAt(defaultOption, 0); 
myComboBox.selectedIndex = 0; 

これは私のコンボボックスは、参考のために次のようになります。

<mx:ComboBox id="myComboBox" dataProvider="{myDataProvider}" labelField="MyLabelField" /> 
0

これはできますコンボボックスの選択されたデフォルト値のコードに続いて使用されます

var index:String = "foo"; 
for(var objIndex:int = 0; objIndex < comboBox.dataProvider.length; objIndex++) { 
    if(comboBox.dataProvider[objIndex].label == index) 
    { 
    comboBox.selectedIndex = objIndex; 
    break; 
    } 
} 
<mx:ComboBox id="comboBox" dataProvider="{_pageIndexArray}" /> 
関連する問題