데이터 표시 준비가 될 때까지 데이터 표의 dataProvider
을 null
또는 빈 모음으로 설정할 수 있습니다.
기본적으로 데이터 그리드에 대해 null 또는 빈 컬렉션을 초기화합니다.
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Script>
<![CDATA[
import mx.collections.ArrayList;
import spark.events.IndexChangeEvent;
[Bindable]
public var data:ArrayList = new ArrayList([ "one", "two", "three" ]);
protected function combobox1_changeHandler(event:IndexChangeEvent):void
{
switch (comboBox.selectedItem)
{
case "Show data":
dataGrid.dataProvider = data;
break;
default:
dataGrid.dataProvider = null;
break;
}
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout />
</s:layout>
<s:DataGrid id="dataGrid"
dataProvider="{null}" />
<s:ComboBox id="comboBox"
change="combobox1_changeHandler(event)">
<s:dataProvider>
<s:ArrayList>
<fx:String>Show data</fx:String>
<fx:String>Hide data</fx:String>
</s:ArrayList>
</s:dataProvider>
</s:ComboBox>
</s:Application>
또 다른 방법은 플렉스 상태 시스템을 사용하는 것입니다 : 그런 다음, 원하는 콤보 상자 옵션을 선택하면 유효한 데이터에 대한 데이터 그리드 데이터 공급자를 설정합니다.
두 가지 상태를 정의하여 데이터 표에서 데이터의 가시성을 제어 할 수 있습니다. 그런 다음 현재 상태에 따라 데이터 공급자를 설정하십시오.
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
currentState="hideData">
<s:states>
<s:State name="showData" />
<s:State name="hideData" />
</s:states>
<fx:Script>
<![CDATA[
import mx.collections.ArrayList;
import spark.events.IndexChangeEvent;
[Bindable]
public var data:ArrayList = new ArrayList([ "one", "two", "three" ]);
protected function combobox1_changeHandler(event:IndexChangeEvent):void
{
switch (comboBox.selectedItem)
{
case "Show data":
currentState = "showData";
break;
default:
currentState = "hideData";
break;
}
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout />
</s:layout>
<s:DataGrid id="dataGrid"
dataProvider.hideData="{null}"
dataProvider.showData="{data}" />
<s:ComboBox id="comboBox"
change="combobox1_changeHandler(event)">
<s:dataProvider>
<s:ArrayList>
<fx:String>Show data</fx:String>
<fx:String>Hide data</fx:String>
</s:ArrayList>
</s:dataProvider>
</s:ComboBox>
</s:Application>
데이터 그리드의 dataProvider를 빈 컬렉션으로 설정할 수 있습니다. –
@ Jason Sturges : 감사합니다. dataProvider가 빈 콜렉션이 아닌 경우이를 수행 할 수있는 방법이 있습니까? – jrDeveloper
데이터 표를 디스플레이 목록에 표시하고 데이터를 표시하지 않으려면 공급자의 데이터를 전환하는 것이 최적의 것으로 보입니다. –