2009年10月13日 星期二

DataGrid Item Click in Flex

Need to complete function , when user click a row in datagrid, could get the selected row 's column data ,

After googling...found the solution

source :

in datagrid label add a property

itemClick="GetDataGridItemHandler(event);"


in mx:script

private function GetDataGridItemHandler(event:ListEvent):void {

Alert.show(event.itemRenderer.data.uid, event.type);

}



simple and clear


reference

2009年10月8日 星期四

搞不定本機上的Fluorinefx / console.aspx--解決方案

這個問題我花了將近一天,仍舊找不到解決方案,後來決定放棄,好在後來米哥有找到,還po了網址給我

內容大概是這樣
I have been testing Fluorine to see if it will be suitable for our application. I am able to use the wizard within Visual Studio 2008 to create the 'FluorineFx ASP.NET Web Site' and am having no issues accessing the console (be it via the Console.aspx redirect or directly with Fluorine.aspx) when using the local ASP.NET Development Server. However, when the site is moved to our production server or accessed via the local IIS7 server (i.e. using host headers) I am no longer able to access the console. I receive a 'The resource cannot be found.' with a reference to 'Requested URL: /Fluorine.aspx'.

Any suggestions would be greatly appreciated.



sol:
Woooo, i managed to get past the 404

I had to manually add the FluorineGateway module through the IIS Manager.


I selected my site
Opened the Modules section
Clicked "add managed module"
Entered "FluorineGateway" as the name and chose "FluorineFX.FluorineGateway" as the type.


Job done. Hope that fixes your problem too.


照著做果然就ok了....爽!!
不過如果你跟我一樣,第一次在網站/模組中,找不到FluorineFX.FluorineGateway這個選項的話,把你的網站根目錄或是虛擬目錄指到網站的bin資料夾有FluorineFx.dll的路徑去,再指定模組,就ok啦!!

crossdomain.xml.....網站控制原則

搞了好久,一直沒辦法在flex上用debug mode 去取得另一個主機上回傳的資料。

原來還有個網站控制原則檔,要放在web的根目錄,沒錯!是根目錄,就算你的web有建立什麼虛擬目錄、應用程式之類的,統統不用管,就是放在你的root就對了

eg : 假設你要存取的資料是放在 www.flex.com/images/,而這個檔案就是放在www.flex.com/這裡。


如果還有要做其它的設定,就參考下面的網址吧

說明一

說明二

說明三


2009年10月7日 星期三

Popup Window 與 MainWindow 數值傳遞-Using Owner properties

在Main Window中

step 1.新建一個TitleWindow的類別
LoginWindow = TitleWindow(PopUpManager.createPopUp(this, GPSLoginForm, false));

step 2.指定此物件的owner屬性為 main window
LoginWindow.owner = this;


在LoginWindow頁面中

step 1. 定義一個 MainWindow的物件

var 物件名稱:檔名 = this.owner as 檔名
var MainPage:GMAP = this.owner as GMAP;

step 2. 直接存取 / 控制 MainWindow中的控制項

MainPage.btn_Login.visible = false;


此教學轉自 http://uh.9ria.com/space.php?uid=36296&do=blog&id=2037

Popup Window 與 MainWindow 數值傳遞-Using Event Listenner

1.如果使用MVC框架,相信这并不是一个问题。而如果没有使用的话,可以用类似的方法设置一个单例,子窗口和父窗口通过这个单例来交互消息,如果需要解耦,请发送自定义事件。总之,只要按照MVC思路来做就可以了。
2.类似JS,在子窗口的构造函数里增加一个参数,将父窗口传参进去。MXML没有构造函数,用一个属性来保存父窗口引用也可以。
3.无论是createPopUp还是addPopUp,他们都有一个返回值,得到子窗口的实例。可以对这个实例监听remove事件,并在这个事件中直接读取子窗口需要返回给父窗口的属性。(记得要将这个事件最终移除)



以使用TitleWindow為例

step 1.在 main window 中,建立一個新的TitleWindow類別為LoginWindow

LoginWindow = TitleWindow(PopUpManager.createPopUp(this, GPSLoginForm, false));

step 2.為LoginWindow新增一個監聽事件,當事件發生時,執行ChangeLoginInfo()函式
LoginWindow.addEventListener("Login_click",ChangeLoginInfo);

step 3.建立ChangeLoginInfo()的內容

private function ChangeLoginInfo(event:Event):void{
btn_Login.visible = false; PopUpManager.removePopUp(LoginWindow);
}


在TitleWindow頁面中
step 1.於該控制項指定 Click事件要處理的函式


step2 . 在該Click事件中,設定
dispatchEvent(new Event("Login_click"));




全文詳見
http://uh.9ria.com/space.php?uid=36296&do=blog&id=2037