SIAMFLEX

My flex project

การใส่ปุ่มลงไปใน Datagrid

| Filed under Adobe Flex Builder

<mx:DataGrid id=”data_member” width=”100%” height=”100%” updateComplete=”handleUpdateComplete(event)” editable=”false” dataProvider=”{member_list}” fontFamily=”Arial” fontSize=”12″>
<mx:columns>
<mx:DataGridColumn headerText=”#” dataField=”id” width=”35″/>
<mx:DataGridColumn headerText=”รหัส” dataField=”no” width=”75″/>
<mx:DataGridColumn headerText=”A” dataField=”agent” width=”35″ />
<mx:DataGridColumn headerText=”ชื่อผู้ใช้” dataField=”username” width=”100″/>
<mx:DataGridColumn headerText=”ชื่อ” dataField=”fullname” width=”150″ />
<mx:DataGridColumn headerText=”e-mail” dataField=”email”/>
<mx:DataGridColumn headerText=”โทร” dataField=”phone”/>
<mx:DataGridColumn headerText=”ธนาคาร” dataField=”bank”/>
<mx:DataGridColumn headerText=”เลขที่บัญชี” dataField=”number”/>
<mx:DataGridColumn headerText=”" width=”200″>
<mx:itemRenderer>
<mx:Component>
<mx:HBox horizontalAlign=”center”>

</mx:HBox>
</mx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
</mx:columns>
</mx:DataGrid>

การเรียกใช้ function ใน swf ที่เรียกมาโดย swfLoader

| Filed under Adobe Flex Builder

การเรียกใช้ function ใน swf ที่เรียกมาโดย swfLoader

ต้อง import mx.managers.SystemManager;

ประกาศตัวแปร [Bindable] public var loadedSM:SystemManager;

———————————————————————————————– main.mxml

import mx.managers.SystemManager;
public var loadedSM:SystemManager;

private function init_myswf():void {
loadedSM = SystemManager(myswf.content);
}
public function update_child():void {
loadedSM.application["get_update"](); // get_update คือชื่อฟังก์ชั่น get_update() ที่อยู่ใน game.swf
}

 

<mx:SWFLoader id=”myswf” source=”game.swf” creationComplete=”init_myswf()” width=”100%” height=”100%”/>

—————————————————————————————

เพียงเท่านี้ก็เรียกใช้ฟังก์ชั่นที่อยู่ใน swf นั้นได้แล้ว

การดึง xml มาแสดงใน menubar แล้วใส่ไว้ใน ApplicationControlBar

| Filed under Adobe Flex Builder

mymxml.mxml

——————————————————————————————–

<?xml version=”1.0″ encoding=”utf-8″?>
<mx:Application xmlns:mx=”http://www.adobe.com/2006/mxml” layout=”absolute” creationComplete=”cargaMenu.send();”>
<mx:Script>
<![CDATA[
import mx.rpc.events.ResultEvent;
import mx.collections.XMLListCollection;
import mx.collections.ArrayCollection;
[Bindable]
public var datos:XMLList

private function httpResult(event:ResultEvent):void{
var miXML:XML;
miXML = event.result as XML;
datos = new XMLList(miXML.menuitem);
}
]]>
</mx:Script>
<mx:HTTPService id=”cargaMenu” showBusyCursor=”true” method=”POST” url=”menu_process.xml” result=”httpResult(event)” resultFormat=”e4x”/>
<mx:ApplicationControlBar dock=”true” verticalAlign=”bottom” paddingRight=”10″ fillAlphas=”[1.0, 1.0]” fillColors=”[#FFFFFF, #F2F2F2]“>
<mx:Label text=”เมนูหลัก” fontSize=”12″/>
<mx:MenuBar x=”10″ y=”10″ id=”menuA” dataProvider=”{datos}” labelField=”@label” cornerRadius=”5″ fontSize=”12″ buttonMode=”true”/>
<mx:HBox width=”100%” horizontalAlign=”right”>
<mx:Image source=”../images/logo-150.gif”/>
</mx:HBox>
</mx:ApplicationControlBar>
</mx:Application>

 

—————————————————————-

menu_process.xml

——————————————————————

<menuitem>
<menuitem label=”หน้าหลัก”/>
<menuitem label=”สมาชิก” enabled=”False”/>
<menuitem label=”เจ้าหน้าที่”/>
<menuitem label=”กลุ่มเจ้าหน้าที่”/>
<menuitem label=”เว็บไซต์”/>
<menuitem label=”เกมส์”/>
<menuitem label=”ธนาคาร” />
<menuitem label=”การเงิน”>
<menuitem label=”เติมเงิน”/>
<menuitem label=”ถอนเงิน”/>
</menuitem>
</menuitem>

 

ผลลัพท์

date format ใน Datefeild

| Filed under Adobe Flex Builder

เมื่อเราใช้  <mx:DateField id=”mydate”  /> นั้น ค่าปกติของมันจะเป็น DD/MM/YYYY

เมื่อเรานำไปใช้กับ mysql มันจะใส่ข้อมูลวันที่ลงไปใน mysql ตรง ๆ ไม่ได้ เพราะ Format ของ mysql คือ YYYY-MM-DD

ฉะนั้นเราจึงต้องเปลี่ยน format ของ datefeild ด้วย

<mx:DateField id=”mydate”  formatString=”YYYY-MM-DD”/>

เพียงเท่านี้เราก็จะได้ข้อมูลแบบ 2011-05-21 เพื่อไปใช้กับ MySql ได้โดยง่ายแล้ว

 

เช็คก่อนว่าเป็น Array หรือ ArrayCollection

| Filed under Adobe Flex Builder

ในการเรียกข้อมูลนั้น ถ้าเราดึงข้อมูลมาแล้วมีเพียงแถวเดียว มันก็จะเป็น Array เราก็จะเรียกโดย myarray.id

แต่ถ้ามีมากกว่านั้น จะกลายเป็น ArrayCollection เราก็ต้องเรียกโดย myarray[i].id

ทำให้เกิด Error ขึ้นได้

วิธีแก้คือเช็คก่อนแล้วเปลี่ยนมันให้เป็น ArrayCollection ให้หมด

if(event.result.allwebsite.website is ArrayCollection){
website_list_selected = event.result.allwebsite.website;
}else{
website_list_selected = new ArrayCollection([event.result.allwebsite.website]);
}

 

by admin | tags : | 0

การทำปุ่มให้ Mouse Over เป็นรูปมือ

| Filed under Adobe Flex Builder

การทำปุ่ม (button) ให้ Mouse Over เป็นรูปมือเหมือน Link ให้ใช้ buttonMode=”true”

 

<mx:Button label=”Delete” click=”delete_item(event)” buttonMode=”true” />

แต่กรณีถ้าเป็น label เราต้องเพิ่ม useHandCursor=”true”  mouseChildren=”false” เข้าไปด้วย

<mx:Button label=”Delete” click=”delete_item(event)” buttonMode=”true” useHandCursor=”true”  mouseChildren=”false” />

 

by admin | tags : | 0