-----------------------组件 HPanel----------------------------------
<?xml version="1.0" encoding="utf-8"?>
<s:Panel xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
creationComplete="onCreationComplete()">
<fx:Metadata>
[Event(name="headerClick")]
</fx:Metadata>
<fx:Script>
<![CDATA[
import flash.events.Event;
import spark.skins.spark.PanelSkin;
private function onCreationComplete():void
{
var panelSkin:PanelSkin=skin as PanelSkin;
if(panelSkin==null) return;
panelSkin.addEventListener(MouseEvent.CLICK,onHeaderClick);
}
private function onHeaderClick(event:MouseEvent):void
{
if(event.currentTarget is PanelSkin)
{
var ps:PanelSkin=PanelSkin(event.currentTarget);
if(event.localY<30)
{
dispatchEvent(new Event("headerClick"));
}
}
}
]]>
</fx:Script>
<s:layout>
<s:VerticalLayout paddingLeft="10" paddingTop="10"
paddingBottom="10" paddingRight="10"/>
</s:layout>
</s:Panel>
----------------------------应用程序------------------------------
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:comp="components.*"
width="100%" height="100%">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
private function toggleState(newState:String):void
{
currentState=(currentState==newState)?'':newState;
}
[Bindable]
public var userInfoList:ArrayCollection = new ArrayCollection([
{proName:"项目1", customName:"客户1",userNamePrincipal:"负责人1",type:1,state:1,beginTime:"2010-01-01",completeTime:"2010-01-01",atl:"20天",forecastCost:"20万",completePreStr:"预演",commision:"大大的",taskNum:"2万件"},
{proName:"项目2", customName:"客户2",userNamePrincipal:"负责人2",type:2,state:2,beginTime:"2010-01-02",completeTime:"2010-01-02",atl:"20天",forecastCost:"20万",completePreStr:"预演",commision:"大大的",taskNum:"2万件"},
{proName:"项目3", customName:"客户3",userNamePrincipal:"负责人3",type:3,state:3,beginTime:"2010-01-03",completeTime:"2010-01-03",atl:"20天",forecastCost:"20万",completePreStr:"预演",commision:"大大的",taskNum:"2万件"},
{proName:"项目4", customName:"客户4",userNamePrincipal:"负责人4",type:4,state:4,beginTime:"2010-01-04",completeTime:"2010-01-04",atl:"20天",forecastCost:"20万",completePreStr:"预演",commision:"大大的",taskNum:"2万件"},
{proName:"项目5", customName:"客户5",userNamePrincipal:"负责人5",type:5,state:5,beginTime:"2010-01-05",completeTime:"2010-01-05",atl:"20天",forecastCost:"20万",completePreStr:"预演",commision:"大大的",taskNum:"2万件"},
{proName:"项目6", customName:"客户6",userNamePrincipal:"负责人6",type:6,state:6,beginTime:"2010-01-06",completeTime:"2010-01-06",atl:"20天",forecastCost:"20万",completePreStr:"预演",commision:"大大的",taskNum:"2万件"},
{proName:"项目7", customName:"客户7",userNamePrincipal:"负责人7",type:7,state:7,beginTime:"2010-01-07",completeTime:"2010-01-07",atl:"20天",forecastCost:"20万",completePreStr:"预演",commision:"大大的",taskNum:"2万件"},
{proName:"项目8", customName:"客户8",userNamePrincipal:"负责人8",type:8,state:8,beginTime:"2010-01-08",completeTime:"2010-01-08",atl:"20天",forecastCost:"20万",completePreStr:"预演",commision:"大大的",taskNum:"2万件"},
{proName:"项目9", customName:"客户9",userNamePrincipal:"负责人9",type:9,state:9,beginTime:"2010-01-09",completeTime:"2010-01-09",atl:"20天",forecastCost:"20万",completePreStr:"预演",commision:"大大的",taskNum:"2万件"}
]);
]]>
</fx:Script>
<s:layout>
<s:BasicLayout/>
</s:layout>
<s:states>
<s:State name="default"/>
<s:State name="stateOne" stateGroups="[noStateTwo,noStateThree]"/>
<s:State name="stateTwo" stateGroups="[noStateOne,noStateThree]"/>
<s:State name="stateThree" stateGroups="[noStateOne,noStateTwo]"/>
</s:states>
<comp:HPanel id="stateOnePanel" title="State One Panel"
left="10" top="10" width="200" right.stateOne="10"
height="100" bottom.stateOne="10" excludeFrom="noStateOne"
headerClick="toggleState('stateOne')">
<s:Label text="你是一" fontSize="20" fontSize.stateOne="140"/>
</comp:HPanel>
<comp:HPanel id="stateTwoPanel" title="State Two Panel"
left="10" bottom="10" top="115" top.stateTwo="10"
width="200" right.stateTwo="10" excludeFrom="noStateTwo"
headerClick="toggleState('stateTwo')">
<s:Label width="100%" height="100%" fontStyle="italic"
text="你是二"/>
</comp:HPanel>
<comp:HPanel id="stateThreePanel" title="State Three Pane"
excludeFrom="noStateThree" top="10" left="220"
left.stateThree="10" right="10" bottom="10"
headerClick="toggleState('stateThree')">
<s:Label fontSize="50" fontSize.stateThree="70" text="你是三"/>
<s:Label text="--Matsuo Bashō
The ancient pond A frog leaps in The sound of the water.
--Donald Keene"/>
<mx:DataGrid id="mydate" dataProvider="{userInfoList}" width="1000" fontFamily="微软雅黑" fontSize="12" y="40" editable="true">
<mx:columns>
<mx:DataGridColumn dataField="proId" visible="false" id="proId" editable="false"/>
<mx:DataGridColumn headerText="项目名称" dataField="proName" editable="false"/>
<mx:DataGridColumn headerText="客户名称" dataField="customName" editable="false"/>
<mx:DataGridColumn headerText="项目负责人" dataField="userNamePrincipal" editable="false"/>
<mx:DataGridColumn headerText="类别" dataField="type" editable="false"/>
<mx:DataGridColumn headerText="状态" dataField="state" editable="false"/>
<mx:DataGridColumn headerText="开始日期" dataField="beginTime" editable="false"/>
<mx:DataGridColumn headerText="结束日期" dataField="completeTime" editable="false"/>
<mx:DataGridColumn headerText="实际时长" dataField="atl" editable="false"/>
<mx:DataGridColumn headerText="总预算" dataField="forecastCost" editable="true"/>
<mx:DataGridColumn headerText="项目进度" dataField="completePreStr" editorDataField="value" id="jindu" editable="true" />
<mx:DataGridColumn headerText="工作量" dataField="commision" editable="false"/>
<mx:DataGridColumn headerText="任务数量" dataField="taskNum" editable="false"/>
</mx:columns>
</mx:DataGrid>
</comp:HPanel>
</s:Application>