flex4 datagrid裏點擊鏈接打開圖片的方法
1. 在datagrid裏麵 加入鏈接
鏈接新窗口顯示相關的圖片
。
如下
<mx:DataGridColumn resizable="false" editable="false" headerText="查看大圖" >
<mx:itemRenderer>
<fx:Component>
<mx:HBox width="100%" horizontalGap="0">
<mx:LinkButton label="查看大圖" click="parentDocument.viewBigImage()" />
</mx:HBox>
</fx:Component>
</mx:itemRenderer>
</mx:DataGridColumn>
方法:
/**
* 原作查看大圖 yanek 增加該方法
*/
public function viewBigImage():void{
//選中的行數
var k:int = this.originalPicList.selectedIndex;
//Alert.show("k="+k);
//獲取dataGrid中的數據
var arr : Array =(originalPicList.dataProvider as ArrayCollection).source;
//獲取當前選中行的dictType列的數據
var path:String = arr[k]["picUrlImage"].toString();
var path1:String = this.originalPicList.selectedItem.picUrlImage;
//Alert.show("path="+path);
var window : ViewBigImage = PopUpManager.createPopUp(this,ViewBigImage,true) as ViewBigImage;
window.owner = this;
//window.bigimage.source = path;
window.bigimage.source = path1;
PopUpManager.centerPopUp(window);//彈出子窗口
}
//////////////////////
注意:取得路徑的方法 var path1:String = this.originalPicList.selectedItem.picUrlImage;
彈出新窗口代碼:ViewBigImage.mxml
<?xml version="1.0" encoding="utf-8"?>
<s:TitleWindow xmlns:fx="https://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" close="PopUpManager.removePopUp(this)" title="大圖查看" width="681" height="498">
<s:layout>
<s:BasicLayout/>
</s:layout>
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;
import mx.core.Application;
import mx.managers.PopUpManager;
import mx.rpc.events.ResultEvent;
private var trme : String = Math.random().toString();
private var dtArray : ArrayCollection = new ArrayCollection();
protected function init():void{
}
protected function close_window():void{
PopUpManager.removePopUp(this);
}
]]>
</fx:Script>
<fx:Declarations>
<!-- 將非可視元素(例如服務、值對象)放在此處 -->
</fx:Declarations>
<mx:Image x="58" y="20" width="564" height="391" />
</s:TitleWindow>
最後更新:2017-04-02 06:51:40