update Flex TreeGrid
Summary:
ÔÚDataGridÖÐÏÔʾ²ã¼¶½á¹¹£¬googleÁËһϣ¬ÕÒµ½flexlibÖеÄTreeGrid¡£°ÑÔ´Âë¼ÓÔØµ½ÏîÄ¿ÖУ¬°´ÕÕÎĵµÈ¥ÊµÏ֯书ÄÜ¡£×îºó·¢ÏÖÓкöàbug£¬±ÈÈ綨λ²»×¼£¬ÎÞ·¨Í϶¯µÈÎÊÌ⡣ͨ¹ýÔĶÁºÍÐÞ¸ÄTreeGridÀ࣬ÕâЩbug¶¼½â¾öÁË¡£½Ó×ÅÎÞÒâÖз¢ÏÖ£¬ÅÅÐòÓÐÎÊÌâ¡£µã»÷ÁÐÍ·ÅÅÐò£¬·¢Ïֲ㼶½á¹¹±ä»ìÂÒÁË£¬Õâ¸öÎÊÌâ±È½ÏÑÏÖØ¡£ÒòΪcreate dataProviderÊÇ×îºËÐĵÄÄÚÈÝÁË¡£ÔÚ¿ªÔ´ÉçÇø(Sapience360 )ÉÏÕÒµ½ÁËÁíÍâÒ»¸öTreeGrid,µ«°æ±¾ÓеãÀÏÁË£¬²»Ö§³Öflex2.0ÒÔÉÏ¡£
Requirement: ʹtreeGridÖ§³Öflex 2.0ÒÔÉÏ¡£
Solution:
¶Ô±ÈSDK 1.5 ºÍ SDK 3.2 DataGridÔ´Âë·¢ÏÖ£¬TreeGrid µÄplaceSortArrow() ·½·¨Ó¦¸ÃÐÞ¸Äһϡ£¿ÉÒÔÖ±½Óµ÷ÓÃDataGridHeaderÀàµÄ·½·¨¡£
override protected function placeSortArrow():void
{
DataGridHeader(header).mx_internal::_placeSortArrow();
}
ɾ³ýÎÞÓõıäÁ¿ ÈçÏ£º
/**
* @private
* The index of the column being sorted.
*/
private var sortIndex:int = -1;
* @private
* The direction of the sort
*/
private var sortDirection:String;
/**
* @private
* The index of the last column being sorted on.
*/
private var lastSortIndex:int = -1;
==============================================
Ð޸ĺóµÄTreeGrid.as ÀàÈçÏ£º
package org.osflex {
import flash.display.DisplayObject;
import flash.display.Graphics;
import flash.display.Sprite;
import flash.events.Event;
import mx.collections.IViewCursor;
import mx.controls.DataGrid;
import mx.controls.dataGridClasses.DataGridColumn;
import mx.controls.dataGridClasses.DataGridHeader;
import mx.core.EventPriority;
import mx.core.FlexSprite;
import mx.core.IFlexDisplayObject;
import mx.core.mx_internal;
import mx.events.DataGridEvent;
use namespace mx_internal;
[IconFile("/assets/treegrid.png")]
/**
* A DataGrid that allow
Ïà¹ØÎĵµ£º
ÔÚ±¾ÏµÁÐÇ°Ãæ¼¸ÆªÎÄÕÂÖзֱð½éÉÜÁËͨ¹ýWebService¡¢HTTPService¡¢URLLoaderÒÔ¼°FielReferenceµÈ×é¼þ
»òÀàÀ´Íê³ÉFlexÓë.NET·þÎñ¶ËµÄͨÐŵÄÏà¹ØÖªÊ¶µã¡£Í¨¹ýÕâЩ·½Ê½À´Íê³ÉÓë·þÎñ¶ËµÄͨÐÅÊǷdz£·½±ãºÍ¼òµ¥µÄ£¬µ«ÓÐËûµÄȱµã¾ÍÊÇͨÐÅÊý¾ÝÁ¿½ÏС£¬ÈçÒª´«
Êä´óÁ¿µÄÊý¾Ý»òÊÇʵÏÖ²»Í¬¶ÔÏóµÄÐòÁл¯´«Ê䣬ËüÃÇÔòÂú×ã²»ÁËÎÒÃǵ ......
Ò»¡¢Application³£ÓõÄʼþ
initialize=============>³õʼ»¯
createcomplate==========>ÔªËØ¼ÓÔØÍê
initialize·¢ÉúÔÚcreatecomplate֮ǰ¡£
¶þ¡¢Êý¾ÝÇëÇó˵Ã÷
HTTPService==========>httpÊý¾ÝÇëÇó¡£
SOAP(Simple Object Access Protocal)=======> webService
AMF(Adobe Action Message Format)========&g ......
4. Àí½âʼþ½×¶Î(Event Phases) ÎÒÃǰÑʼþ´¥·¢Ô´·ÖΪÁ½ÀࣺһÀàÊÇÄÇЩÏÔʾÔÚ½çÃæÖеÄÔªËØÅ׳öµÄʼþ£¬Ò»ÀàÊÇÄÇЩ²»ÔÚ½çÃæÖÐÏÔʾµÄÔªËØÅ׳öµÄʼþ¡£ºÜ¼òµ¥£¬¾Ù¸öÀý×Ó£ºµÚÒ»ÀàÈçURLLoader¶ÔÏóÈ¥loadͼƬ»òÆäËû×ÊÔ´ËùÅ׳öµÄÈçcompleteʼþ£¬¾ÍÊôÓÚµÚÒ»Àà¡£½çÃæÉϵÄÒ»¸ö°´Å¥ËùÅ׳öµÄclickʼþ¾ÍÊǵڶþÀ࣬Ëü»á´¥·¢Ò»¸öʼþÁ÷£¬ ......
ÉÏÃæÊÇÒ»¸öflex×öµÄÑ¡Ôñ£¬Ö÷ҪѧϰÊý¾Ý Model¸úDateGridµÄÓ÷¨ ¹þ£¬Ô´ÂëÈçÏ£º
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" fontSize="12">
<mx:Model id="books">
<datas>
<book>
  ......