国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 網(wǎng)站 > WEB開(kāi)發(fā) > 正文

7.12.創(chuàng)建一個(gè)帶復(fù)選框的Tree控件

2024-04-27 13:52:01
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友
7.12.1.問(wèn)題
你要?jiǎng)?chuàng)建一個(gè)樹(shù)。它的結(jié)點(diǎn)一個(gè)有三個(gè)狀態(tài)的CheckBox。
7.12.2.解決辦法
我們從三個(gè)方面去解決這個(gè)問(wèn)題:
1 創(chuàng)建TreeItemRenderer。這個(gè)renderer 要包含CheckBox;
2 當(dāng)CheckBox 是第三種狀態(tài)時(shí),將有一個(gè)黑色的小圖片覆蓋在CheckBox 上方,
也就是說(shuō),這時(shí)我們看到CheckBox 的,不是空心的,也不是里邊含有“勾”,而是里邊含有一個(gè)實(shí)心的黑方塊;
3 dataProvider 的item 中要有一個(gè)屬性用于表示CheckBox 的選中狀態(tài);
7.12.3.討論
通常我們用tree 來(lái)表現(xiàn)一個(gè)文件系統(tǒng),而且我們經(jīng)常需要同時(shí)選中多個(gè)文件,并對(duì)它們一起做某個(gè)操作,如刪除,復(fù)制等。所以我們需要tree 的結(jié)點(diǎn)能有一種狀態(tài),表示它己經(jīng)表選中了。

一個(gè)父結(jié)點(diǎn)的選中或取消選中操作應(yīng)該同時(shí)觸發(fā)它的所有子結(jié)點(diǎn)同時(shí)被選中或同時(shí)取消選中。如果這些子結(jié)點(diǎn),有些是選中狀態(tài),有些是未選中狀態(tài),這時(shí)父結(jié)點(diǎn)需要有第三種狀態(tài)才能更好的表現(xiàn)這種情況,所以我們需要有至少兩個(gè)狀態(tài)的CheckBox。這第三種狀態(tài)表示:某個(gè)父結(jié)點(diǎn)的子結(jié)點(diǎn)有些選中,有些未選中,而它自己是選中。

我們的解決辦法是自定義一個(gè)TreeItemRenderer,(就是下邊的CheckTreeRenderer) 它繼承自TreeItemRenderer,我們使用它實(shí)現(xiàn)三種狀態(tài)的CheckBox。
+展開(kāi)
-XML
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="init();" >

<mx:Script>
<![CDATA[
import mx.collections.*;
[Bindable]
public var folderList:XMLList = <> 
<folder state="unchecked" label="Marketing Collateral" isBranch="true">
<folder state="unchecked" isBranch="true" label="Media, PR, and Communications">
<folder state="unchecked" isBranch="false" label="Article Reprint Disclaimers"/>
<folder state="unchecked" isBranch="false" label="Articles Reprints"/>
<folder state="unchecked" isBranch="false" label="Interviews and Transcripts"/>
<folder state="unchecked" isBranch="false" label="Press Kits"/>
<folder state="unchecked" isBranch="false" label="Press Releases"/>
<folder state="unchecked" isBranch="false" label="Quick Hits"/>
<folder state="unchecked" isBranch="false" label="Rep Talking Points"/>
<folder state="unchecked" isBranch="false" label="Special Updates"/>
<folder state="unchecked" isBranch="false" label="White Papers"/>
</folder>
<folder state="unchecked" isBranch="true" label="Forms and Applications">
<folder state="unchecked" isBranch="false" label="Applications" />
<folder state="unchecked" isBranch="false" label="Forms" />
</folder>
</folder>
</>;
[Bindable]
public var folderCollection:XMLListCollection;
private function init() : void {
folderCollection = new XMLListCollection(folderList);
checkTree.dataProvider = folderCollection;
}

]]>
</mx:Script>
<mx:Tree id="checkTreeitemRenderer="oreilly.cookbook.CheckTreeRendererlabelField="@labelwidth="100%height="100%" >
</mx:Tree>
</mx:Application>
發(fā)表評(píng)論 共有條評(píng)論
用戶(hù)名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 西林县| 三穗县| 白河县| 凤翔县| 天津市| 澄江县| 耒阳市| 张家界市| 新余市| 湖口县| 玛曲县| 宁化县| 万载县| 威信县| 华亭县| 吉林省| 松江区| 贵定县| 哈巴河县| 比如县| 察雅县| 宁明县| 溆浦县| 漳浦县| 秦皇岛市| 通许县| 璧山县| 将乐县| 睢宁县| 庄浪县| 萨迦县| 保山市| 荣昌县| 当涂县| 明溪县| 乌鲁木齐县| 上栗县| 报价| 勃利县| 循化| 伊通|