FLEX - Popup 창이 한개 띄어져 있다면 새로운 Popup 창은 띄우지 않고 기존 Popup 창에서 Data만 변경하기
FLEX/FLEX 2010. 7. 12. 21:19PopupOne.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" width="100%"
paddingBottom="0" paddingLeft="0" paddingRight="0" paddingTop="0" horizontalAlign="center" >
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.containers.TitleWindow;
import mx.managers.PopUpManager;
import mx.managers.PopUpManagerChildList;
[Bindable]
private var data1:ArrayCollection = new ArrayCollection([{data:0, label:"Print"},{data:1, label:"Website"}]);
[Bindable]
private var data2:ArrayCollection = new ArrayCollection([{data:2, label:"test"},{data:3, label:"test3"}]);
public function renderClickHandler(data:ArrayCollection):void
{
if((systemManager.numChildren-1) == 0)
{
var pop:listRenderTitleWindow =
listRenderTitleWindow(PopUpManager.createPopUp(this, listRenderTitleWindow, false));
pop.title = "PopUp Window";
pop.mappingData = data;
pop.init();
PopUpManager.centerPopUp(pop);
} else {
var dd:listRenderTitleWindow = listRenderTitleWindow(systemManager.getChildAt(1));
dd.mappingData = data;
dd.init();
}
}
]]>
</mx:Script>
<mx:Button id="a1" label="상세정보" fontSize="11" click="renderClickHandler(data1)"/>
<mx:Button id="a2" label="상세정보2" fontSize="11" click="renderClickHandler(data2)"/>
</mx:Application>
------------------------------------------------------------------------------------
listRenderTitleWindow.mxml
<?xml version="1.0" encoding="utf-8"?>
<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" width="400" height="300"
showCloseButton="true" close="PopUpManager.removePopUp(this)" >
<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.managers.PopUpManager;
private var _data:ArrayCollection;
public function get mappingData():ArrayCollection
{
return _data;
}
public function set mappingData(value:ArrayCollection):void
{
this._data = value;
}
public function init():void
{
var str:String = new String();
var arr:ArrayCollection = new ArrayCollection();
arr = mappingData;
for(var i:uint; i < arr.length; i++)
{
for(var key:String in arr[i])
{
str += key + " : " + arr[i][key] +"\n";
}
}
tempTextArea.text = str;
}
]]>
</mx:Script>
<mx:TextArea id="tempTextArea" width="300" height="200"/>
</mx:TitleWindow>
'FLEX > FLEX' 카테고리의 다른 글
FLEX 3.0 - KeyboardEvent / MouseEvent를 이용한 TextInput에서 Enter Evnet - KeyCode 값 (0) | 2010.07.12 |
---|---|
FLEX 3.0 - AdvancedDataGrid와 filterFunction를 AS3.0으로 구현해보기. (0) | 2010.07.12 |
FLEX - Object 객체 값 출력하기 (0) | 2010.07.12 |
FLEX - Popup창이 한개 띄어져 있다면 기존 popup창은 자동 닫고 새롭게 popup창 띄우기 (0) | 2010.07.12 |
FLEX - Popup창이 한개 띄어져 있다면 다시 띄우지 않기 (0) | 2010.07.12 |