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

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

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

2024-04-27 13:52:01
字體:
供稿:網(wǎng)友
7.12.1.問題
你要?jiǎng)?chuàng)建一個(gè)樹。它的結(jié)點(diǎn)一個(gè)有三個(gè)狀態(tài)的CheckBox。
7.12.2.解決辦法
我們從三個(gè)方面去解決這個(gè)問題:
1 創(chuàng)建TreeItemRenderer。這個(gè)renderer 要包含CheckBox;
2 當(dāng)CheckBox 是第三種狀態(tài)時(shí),將有一個(gè)黑色的小圖片覆蓋在CheckBox 上方,
也就是說,這時(shí)我們看到CheckBox 的,不是空心的,也不是里邊含有“勾”,而是里邊含有一個(gè)實(shí)心的黑方塊;
3 dataProvider 的item 中要有一個(gè)屬性用于表示CheckBox 的選中狀態(tài);
7.12.3.討論
通常我們用tree 來表現(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。
+展開
-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)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 西丰县| 班玛县| 江陵县| 南澳县| 泽州县| 博乐市| 唐山市| 福海县| 大邑县| 宜阳县| 宁陵县| 靖宇县| 盐亭县| 台中县| 新野县| 夏河县| 泗洪县| 习水县| 外汇| 丰顺县| 建阳市| 迁西县| 罗甸县| 开远市| 大悟县| 大足县| 松溪县| 高陵县| 祁阳县| 伊金霍洛旗| 东乡县| 洞头县| 衡阳县| 凌源市| 枞阳县| 陆丰市| 江北区| 浮梁县| 赣州市| 乌恰县| 永胜县|