1
我在獲取複選框時遇到困難只有樹的葉節點。我看過http://www.sephiroth.it/file_detail.php?id=151#,這不是我所需要的。我不想要一個包含分支和葉子的3狀態複選框系統。僅在Flex中的樹葉節點上選中複選框
我知道將複選框項目渲染器應用於數據網格而不是樹上。
我使用Flex Builder 3
我在獲取複選框時遇到困難只有樹的葉節點。我看過http://www.sephiroth.it/file_detail.php?id=151#,這不是我所需要的。我不想要一個包含分支和葉子的3狀態複選框系統。僅在Flex中的樹葉節點上選中複選框
我知道將複選框項目渲染器應用於數據網格而不是樹上。
我使用Flex Builder 3
比方說,我們希望把複選框中AdvancedDataGrid的列之一。我喜歡用HierarchicalData或HierarchicalCollectionView作爲我的DataGrid的dataProvider:
// 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>
這應該是大部分。讓我知道,謝謝!