Frage

Ich habe Schwierigkeiten, Kontrollkästchen auf nur die Blattknoten eines Baumes.

Bevor jemand es Links, die ich gesehen habe http: //www.sephiroth .it / file_detail.php? id = 151 # und das ist nicht genau das, was ich brauche. Ich möchte nicht über ein 3-Zustand Checkbox System, das sowohl Zweig und Blatt.

Ich verstehe das Kontrollkästchen Elementrenderers zu einem Datenraster Anwendung, aber nicht auf einem Baum.

Ich verwende Flex Builder 3

War es hilfreich?

Lösung

Lassen Sie uns sagen, dass wir die Kästchen zum Ankreuzen in einer der Spalten von Advanced setzen wollen. Ich mag mit HierarchicalData oder HierarchicalCollectionView wie mein Datagrid Datenprovider:

// TestGrid
<mx:AdvancedDataGrid id="myADG">
    <mx:columns>
        <AdvancedDataGridColumn id="col1" />
        <AdvancedDataGridColumn id="col2" itemRenderer="LeafCheckbox" />
    </mx:columns>
</mx:AdvancedDataGrid>



// LeafCheckBox.mxml
<mx:Box 
    creationComplete="init(event)"
    implements="IDropInListItemRenderer">
<mx:Script>
    <![CDATA[

    // Internal variable for the property value.
    private var _listData:BaseListData;

    // Make the listData property bindable.
    [Bindable("dataChange")]

    // Define the getter method.
    public function get listData():BaseListData
    {
      return _listData;
    }

    // Define the setter method,
    public function set listData(value:BaseListData):void
    {
      _listData = value;
    }


    private function init(event:Event):void {
        var dg:AdvancedDataGrid = this.listData.owner.parent as AdvancedDataGrid;
        if (!dg.dataProvider.hasChildren(dg.selectedItem))
            this.addChild(new CheckBox());
    }

    ]]>
</mx:Script>

</mx:Box>

Das sollte die meisten davon sein. Lassen Sie mich wissen, danke!

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top