<?xml version="1.0" encoding="utf-8"?>
<!-- http://www.slsay.com/archives/23 -->
<mx:application xmlns:mx="http://www.adobe.com/2006/mxml"
creationcomplete="init()">
<mx:script>
<!–[CDATA[
import mx.events.CollectionEvent;
import mx.events.DataGridEventReason;
import mx.collections.ArrayCollection;
import mx.events.DataGridEvent;
import mx.events.ListEvent;
[Bindable]
private var myAC:ArrayCollection = new ArrayCollection([
{id:89, Contact: ‘Bob Jones’, FollowUp: true },
{id:5, Contact: ‘Jane Smith’, FollowUp: true },
{id:7, Contact: ‘Doug Johnson’, FollowUp: false },
{id:15, Contact: ‘John Jackson’, FollowUp: true },
{id:21, Contact: ‘Christina Coenraets’, FollowUp: true },
{id:4, Contact: ‘Joanne Wall’, FollowUp: false },
{id:461, Contact: ‘Maurice Smith’, FollowUp: false },
{id:35, Contact: ‘Lorraine Barnes’, FollowUp: true },
{id:61, Contact: ‘The Dude’, FollowUp: true },
{id:56, Contact: ‘Abe Rockaway’, FollowUp: true }
]);
private function init():void{
myAC.addEventListener(
CollectionEvent.COLLECTION_CHANGE, onChange);
}
private function onChange(event:CollectionEvent):void {
for (var i:int=0; i < event.items.length;i++) {
var obj:Object=event.items[i].source;
for (var p:String in obj) {
if(p!="mx_internal_uid") {
cellInfo.text += "\n";
if(event.items[i].property==p){
cellInfo.text +="*"}
cellInfo.text += p+": " + obj[p];
}
}
}
}
]]>
</mx:script>
<mx:Datagrid id="myGrid">
dataProvider="{myAC}" editable="true" >
<mx:columns>
<mx:datagridcolumn datafield="Contact" width="150"/>
<mx:datagridcolumn datafield="id" width="150"
editable="false"/>
<mx:datagridcolumn datafield="FollowUp">
width="150"
headerText="Follow Up?"
itemRenderer="DGCheckBoxEditor" rendererIsEditor="true"
editorDataField="cbSelected"/>
</mx:columns>
</mx:Datagrid>
<mx:Textarea id="cellInfo" width="300" height="150"/>
</mx:application>
<!-- http://www.slsay.com/archives/23 -->
<mx:application xmlns:mx="http://www.adobe.com/2006/mxml"
creationcomplete="init()">
<mx:script>
<!–[CDATA[
import mx.events.CollectionEvent;
import mx.events.DataGridEventReason;
import mx.collections.ArrayCollection;
import mx.events.DataGridEvent;
import mx.events.ListEvent;
[Bindable]
private var myAC:ArrayCollection = new ArrayCollection([
{id:89, Contact: ‘Bob Jones’, FollowUp: true },
{id:5, Contact: ‘Jane Smith’, FollowUp: true },
{id:7, Contact: ‘Doug Johnson’, FollowUp: false },
{id:15, Contact: ‘John Jackson’, FollowUp: true },
{id:21, Contact: ‘Christina Coenraets’, FollowUp: true },
{id:4, Contact: ‘Joanne Wall’, FollowUp: false },
{id:461, Contact: ‘Maurice Smith’, FollowUp: false },
{id:35, Contact: ‘Lorraine Barnes’, FollowUp: true },
{id:61, Contact: ‘The Dude’, FollowUp: true },
{id:56, Contact: ‘Abe Rockaway’, FollowUp: true }
]);
private function init():void{
myAC.addEventListener(
CollectionEvent.COLLECTION_CHANGE, onChange);
}
private function onChange(event:CollectionEvent):void {
for (var i:int=0; i < event.items.length;i++) {
var obj:Object=event.items[i].source;
for (var p:String in obj) {
if(p!="mx_internal_uid") {
cellInfo.text += "\n";
if(event.items[i].property==p){
cellInfo.text +="*"}
cellInfo.text += p+": " + obj[p];
}
}
}
}
]]>
</mx:script>
<mx:Datagrid id="myGrid">
dataProvider="{myAC}" editable="true" >
<mx:columns>
<mx:datagridcolumn datafield="Contact" width="150"/>
<mx:datagridcolumn datafield="id" width="150"
editable="false"/>
<mx:datagridcolumn datafield="FollowUp">
width="150"
headerText="Follow Up?"
itemRenderer="DGCheckBoxEditor" rendererIsEditor="true"
editorDataField="cbSelected"/>
</mx:columns>
</mx:Datagrid>
<mx:Textarea id="cellInfo" width="300" height="150"/>
</mx:application>
//itemEditor
<mx:Box xmlns:mx="http://www.adobe.com/2006/mxml"
implements="mx.controls.listClasses.IDropInListItemRenderer,
mx.managers.IFocusManagerComponent">
<!-- http://www.slsay.com/archives/23 -->
<mx:Script>
<![CDATA[
import mx.controls.listClasses.ListData;
import mx.controls.dataGridClasses.DataGridListData;
import mx.controls.listClasses.BaseListData;
import mx.controls.dataGridClasses.DataGridItemRenderer
import mx.events.FlexEvent;
private var _listData:DataGridListData;
// Define a property for returning the new value to the cell.
public var cbSelected:Boolean;
// Implement the drawFocus() method for the VBox.
override public function drawFocus(draw:Boolean):void {
doneCB.setFocus();
}
[Bindable]
override public function set data(value:Object):void {
super.data = value;
doneCB.selected=data[_listData.dataField];
}
override public function get data():Object {
return super.data;
}
public function get listData():BaseListData {
return _listData;
}
public function set listData(value:BaseListData):void {
_listData = DataGridListData(value);
}
]]>
</mx:Script>
<mx:CheckBox id="doneCB" label="Done">
change="cbSelected=doneCB.selected"/>
</mx:Box>
implements="mx.controls.listClasses.IDropInListItemRenderer,
mx.managers.IFocusManagerComponent">
<!-- http://www.slsay.com/archives/23 -->
<mx:Script>
<![CDATA[
import mx.controls.listClasses.ListData;
import mx.controls.dataGridClasses.DataGridListData;
import mx.controls.listClasses.BaseListData;
import mx.controls.dataGridClasses.DataGridItemRenderer
import mx.events.FlexEvent;
private var _listData:DataGridListData;
// Define a property for returning the new value to the cell.
public var cbSelected:Boolean;
// Implement the drawFocus() method for the VBox.
override public function drawFocus(draw:Boolean):void {
doneCB.setFocus();
}
[Bindable]
override public function set data(value:Object):void {
super.data = value;
doneCB.selected=data[_listData.dataField];
}
override public function get data():Object {
return super.data;
}
public function get listData():BaseListData {
return _listData;
}
public function set listData(value:BaseListData):void {
_listData = DataGridListData(value);
}
]]>
</mx:Script>
<mx:CheckBox id="doneCB" label="Done">
change="cbSelected=doneCB.selected"/>
</mx:Box>
相关推荐
在这个场景中,我们关注的是如何在Flex4的Tree控件中添加CheckBox,以便用户可以多选树形结构中的节点。 Tree控件在Flex中用于展示层次结构的数据,它允许用户展开和折叠节点,查看和导航数据结构。在很多情况下,...
DataGrid是ActionScript 3和Flex框架中的一个控件,它允许我们以表格的形式展示数据集。每个单元格都可以根据需要定制,例如显示文本、图像或者更复杂的组件如复选框。 嵌套复选框的过程主要包括以下步骤: 1. **...
压缩包中的`CheckBoxItem.as`可能是一个自定义的Checkbox类,它扩展了Flex内置的Checkbox类,并可能添加了额外的功能或属性。而`CheckBox.txt`可能是关于如何使用这些Checkbox的文档或者示例代码。 总的来说,Flex...
Flex Tree 是一种在Adobe ...总结来说,“Flex Tree 中Checkbox”涉及到Flex组件的自定义、事件处理、数据模型与视图的交互,以及用户体验的优化。通过这些知识点的运用,可以创建一个功能完备且易于使用的多选树组件。
在Flex开发中,Tree组件和Checkbox控件的结合使用是一个常见的需求,特别是在构建具有层级结构并需要用户进行多选操作的界面时。本插件专为此目的设计,它允许用户在树形结构中通过复选框来选择或取消选择节点,从而...
使用Flex的data属性将数据字段与ItemRenderer中的控件关联起来。例如,如果数据源中有一个名为`creationDate`的字段,可以这样绑定: ```actionscript dateField.dataField = "creationDate"; ``` 4. **处理...
`flex tree 中渲染checkBox`这个话题涉及到在Flex Tree组件的每个节点上添加复选框控件,使得用户能够通过单击复选框来选择或取消选择树的特定部分。这在数据分层展示和多选操作的场景中特别常见,例如文件管理器或...
通常,`itemRenderer`是一个负责渲染单个数据项的组件,我们可以用一个包含Checkbox的自定义组件作为`itemRenderer`。 - 在`itemRenderer`组件中,我们需要监听`CheckBox`的`change`事件,以便当用户改变Checkbox...
通过继承mx.controls.treeClasses.TreeItemRenderer类并重写其createChildren()方法,我们可以添加一个CheckBox控件到渲染器中。 ```actionscript public class TreeChkItemRenderer extends TreeItemRenderer { ...
在`ReportListPage.mxml`中,开发者可能使用了`Tree`控件的自定义类,或者在`Tree`控件的基础上添加了复选框组件。他们可能会覆盖`createChildren()`方法来插入自定义的复选框,同时监听`itemClick`事件来处理复选...
在Flex开发中,DataGrid组件是一个非常常用的控件,它用于展示数据集合,并提供交互式操作,如排序、选择等。本示例聚焦于DataGrid中的CheckBox集成,特别是实现一个全选的功能。以下是对这个主题的详细解释: 一、...
为了实现全选和反选功能,我们需要在界面上添加两个CheckBox控件,分别代表全选和全反。当用户点击全选CheckBox时,遍历dataProvider中的所有数据项,将它们的“isSelected”字段设为true;反之,当点击全反CheckBox...
标题提到的“flex Tree checkbox 修改过后”,意味着原生的Flex Tree控件已经进行了自定义修改,以适应带有复选框功能的需求。 在Flex中实现Tree与Checkbox结合的关键点包括: 1. **创建自定义TreeItemRenderer**...
2. **自定义下拉列表**:通过覆盖dropDown属性,我们可以创建一个自定义的List组件,其中的itemRenderer使用我们之前编写的HgCheckBox.as。这样,每个列表项都会显示一个复选框。 3. **处理多选逻辑**:当用户在...
在Flex中,Tree组件是用于显示层次结构数据的控件,而"flex带复选框的tree"(Flex CheckboxTree)则是对Tree组件的一种扩展,增加了复选框功能,用户可以对树形结构的节点进行选择或全选操作,常用于权限管理、配置...
List组件是Flex中常用的一种显示数据列表的控件,而CheckBox则提供了一种用户交互的方式,让用户可以选择列表中的项。 首先,我们需要理解`List`组件的基本结构。List组件通常与数据提供器(如ArrayCollection)...
根据给定的信息,本文将对Flex框架中的部分控件及其代码进行详细解析。Flex是一种用于构建桌面和移动设备上的丰富互联网...对于学习Flex框架的人来说,这是一段很好的实战代码,有助于理解Flex控件的特性和使用场景。
首先,我们需要在AdvancedDataGrid的列定义中添加CheckBox控件。这可以通过创建一个自定义的CellRenderer来完成。CellRenderer允许我们在单元格中插入任意Flex组件,例如CheckBox。以下是一个简单的CellRenderer类...
本文将详细介绍几个常用的Flex控件,包括它们的基本功能、用途以及如何使用这些控件来增强应用的表现力。 #### 二、控件详解 ##### 1. AdvancedDataGrid - **简介**: - `AdvancedDataGrid` 是一种扩展了标准 `...