flex Datagrid checkboxȫѡ
Datagrid headerRenderer checkbox to select checkboxes in the row
flex Datagrid checkboxȫѡ
Cookbooks
ÔÎÄ£ºhttp://cookbooks.adobe.com/post_Datagrid_headerRenderer_checkbox_to_select_checkbo-7262.html
ÏÂÔØ £ºsrc1.zip
CheckBoxHeaderColumn.as
package
{
import mx.controls.dataGridClasses.DataGridColumn;
[Event(name="click", type="flash.events.MouseEvent")]
public class CheckBoxHeaderColumn extends DataGridColumn
{
public function CheckBoxHeaderColumn(columnName:String=null)
{
super(columnName);
}
/**is the checkbox selected**/
public var selected:Boolean = false;
}
}
CheckBoxHeaderRenderer.as
package
{
import flash.events.MouseEvent;
import mx.controls.CheckBox;
import mx.controls.DataGrid;
import mx.events.DataGridEvent;
public class CheckBoxHeaderRenderer extends CheckBox
{
public function CheckBoxHeaderRenderer()
{
super();
//addEventListener("click", clickHandler);
}
private var _data:CheckBoxHeaderColumn;
override public function get data():Object
{
return _data;
}
override public function set data(value:Object):void
{
_data = value as CheckBoxHeaderColumn;
DataGrid(listData.owner).addEventListener(DataGridEvent.HEADER_RELEASE, sortEventHandler);
selected = _data.selected;
}
private function sortEventHandler(event:DataGridEvent):void
{
if (event.itemRenderer == this)
event.preventDefault();
}
override protected function clickHandler(event:MouseEvent):void
{
super.clickHandler(event);
data.selected = selected;
data.dispatchEvent(event);
}
}
}
CheckBoxItemRenderer.as
package
{
import flash.events.MouseEvent;
import mx.controls.Alert;
import mx.controls.CheckBox;
import mx.controls.DataGrid;
public class CheckBoxItemRenderer extends CheckBox
{
public function CheckBoxItemRenderer()
{
super();
}
override public function validateProperties():void
{
Ïà¹ØÎĵµ£º
flex¿Ø¼þ¶ÔÏó¡¢RemoteObjectµÈ¶¼ÓÐÒ»¸ö¹²Í¬µÄ·½·¨addEventListener¡£
addEventListener·½·¨ÈçÏ£º
public function addEventListener(type:String, listener:Function,
useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
{
eventDispatcher.addEventListener(type, listener, us ......
¸ÅÒª
µ±ÎÒÃǼÓÔØÍⲿswfʱ£¬±ØÐëÒªÁ˽âÓ¦ÓóÌÐòÓò(Application Domain)¡£´ÓAdobe¹Ù·½ÎļþÖУ¬ÎÒÃÇ¿ÉÒÔµÃÖªÓ¦ÓóÌÐòÓòÄܹ»°Ñ´¦ÓÚͬһ¸ö°²È«Óò(Security Domain)ÖеÄÀà·ÖÀ뿪£¬ÕâÑù¾Í¿ÉÒÔÈÃÒ»¸öÀàµÄ¶à¸ö¶¨Òå¹²´æ£¬»òÊÇÈöà¸ö×ÓÓ¦ÓÃÀ´¹²Ïí¸¸Ó¦ÓõÄÀඨÒå¡£¼òµ¥µãÀí½â¾ÍÊÇÓ¦ÓóÌÐòÓòΪÀඨÒåÌṩÁË·ÖÇø¹¦ÄÜ¡£
Ó¦ÓóÌÐòÓò
Ò ......
Ò»¡¢Flex
Remoting
1.Channel definition,
mx.messaging.channels.RTMPChannel, can not be
found...£º×îаæµÄFluorinedÔÚservices-config.xmlÖÐÐÂÔöÁËRTMP Channel£¬Ö÷ÒªÊÇÓÃÀ´Åä ÖÃFlex
Messaging£¬±àÒëʱÐèÒªFDS.swcÖ§³Ö£¬µ±È»Èç¹û²»ÐèÒª´Ë¹¦ÄÜ¿ÉÒÔ×¢Ê͵ôchannel-definitionÕâ¸ö½Úµã¡£
2.RPC
Fault fault ......
FlexµÄʼþÆäʵºÜÈÝÒ×Ã÷°×£¬ÏóJAVAÓïÑÔÒ»Ñù£¬¸øÄ³¸ö¿Ø¼þ×¢²áÒ»¸ölistener£¬È»ºóʼþ·¢ÉúµÄʱºò´¥·¢ÏàÓ¦µÄº¯Êý£¬ÕâµãÎÒÏàÐÅ´ó¶àÊýÈ˶¼Äܹ»Ã÷°×¡£½ñÌìÎÒÏëҪ˵µÄ²»ÊÇÕâ¸ö£¬¶øÊǸü¼Óϸ½ÚµÄһЩ¶«Î÷¡£
1.ʼþµÄ´«²¥¹ý³Ì¡£
FlexʼþÓÐÏÂÃæÈý¸ö½×¶Î£¬µ±Ê¼þ·¢ÉúʱÒÀ´ÎΪ£º
1.capturing£¨²¶×½£©
2.targeting£¨Ä¿±ê£©
3.bubbli ......
ÔÚflexÖÐÒ²¾³£»áÓõ½½ØÍ¼¹¦ÄÜ£¬²¢ÇÒ½«½ØÍ¼µÄͼƬ±£´æÖÁ±¾µØ¡£Ò»Ï뵽ͼƬÄÇôÎÒÃǾÍ×ÔÈ»Ïëµ½ËûµÄ´æÔÚÐÎʽ bitmap byteArray.ËùÒÔ×ÔÈ»¾Í»áÁªÏµµ½bitmapÀàÉÏÈ¥¡£
ÏÂÃæÈÃÎÒÃÇÒ»ÆðÀ´¿´¿´¶¼ÓÐÄÄЩ·½·¨°É¡£
·½·¨Ò»£º°´ÎÒÃÇ×ÔÈ»µÄ˼·ʵÏÖ£º
ÔÚapplicationÖÐÓÐÁ½¸öÈÝÆ÷£º
<mx:Canvas id="virtour_cav" top="0" bottom="0" l ......