ComboBox의 하위 클래스 인 기존 구성 요소를 알고 있지만 selectedItem을 null로 설정할 "all"또는 "none"과 같은 레이블을 사용하여 목록의 항목을 지정할 수 있는지 궁금하십니까? 나는 하나를 쓰는 것으로 들여다 보았습니다. 그리고 구성 요소의 내부 때문에 많은 일처럼 보입니다. 그래서 누군가가 이미 그것을했는지 궁금합니다."Null"/ "All"옵션이있는 Flex ComboBox 하위 클래스?
0
A
답변
0
항목을 선택하지 않은 경우 ComboBox의 모양은 어떻게됩니까? 또는 해당 항목에 대해 선택된 모든 항목? ComboBox
대신 List
을 사용해야하는 것 같습니다. Tour de Flex의 목록 컨트롤을보십시오.
+0
아무 것도 표시되지 않거나 프롬프트 필드의 내용을 처음 보았을 때와 동일하게 보입니다. – Sophistifunk
0
0
실행 이런 일에 대해 어떻게 :
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="100%" height="100%" creationComplete="onCreationComplete()">
<mx:Script>
<![CDATA[
private var myData:Array = new Array();
[Bindable]
private var comboData:Array = new Array();
[Bindable]
private var selectedData:String = "";
private function onCreationComplete():void
{
myData.push({"label" : "First", "value" : "First"});
myData.push({"label" : "Second", "value" : "Second"});
myData.push({"label" : "Third", "value" : "Third"});
comboData.push({"label" : "<None>", "value" : "<None>"});
comboData.push({"label" : "<All>", "value" : "<All>"});
for(var i:int = 0; i < myData.length; i++) {
comboData.push(myData[i]);
}
}
private function onSmartComboBoxChange():void
{
if(smartComboBox.selectedItem) {
if(smartComboBox.selectedItem.value == "<None>") {
selectedData = "";
} else if(smartComboBox.selectedItem.value == "<All>") {
selectedData = "";
for(var i:int = 0; i < myData.length; i++) {
selectedData += myData[i].value + ", ";
}
} else {
selectedData = comboData[smartComboBox.selectedIndex].value;
}
}
}
]]>
</mx:Script>
<mx:VBox>
<mx:ComboBox id="smartComboBox" dataProvider="{comboData}" change="onSmartComboBoxChange()" labelField="label" />
<mx:Label id="selectedDataLabel" text="{selectedData}" />
</mx:VBox>
</mx:Application>
명확히하기 위해, 나는 정상으로 다시의 selectedItem = 널의 기본 상태로 돌아갈 수 있도록 콤보,하지만 여전히 기능을합니다. 나는 커스텀리스트를 만들어서 정상 콤보 박스에 보내고 싶지 않다. – Sophistifunk