使用Repeater创建checkbox组并默认选中给出选中的结果
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="middle"
backgroundColor="white" creationComplete="init()">
<mx:Style>
Alert {
backgroundAlpha: 0.8;
backgroundColor: black;
borderAlpha: 0.8;
borderColor: black;
}
</mx:Style>
<mx:Script>
<![CDATA[
import mx.controls.Alert;
import mx.controls.RadioButton;
import mx.collections.ArrayCollection;
//定义 Repeater要绑定的数据即用来添加checkbox 模拟所有的操作
private var roleFields:ArrayCollection = new ArrayCollection([{name:"编号",field:"id",link:"false"}
,{name:"角色名",field:"roleName",link:"true"}
,{name:"操作",field:"删除角色",link:"false"}]);
//默认选择的checkbox的集合 模拟用户有的操作
private var role:ArrayCollection = new ArrayCollection([{name:"编号",field:"id",link:"false"}
,{name:"操作",field:"删除角色",link:"false"}]);
//全选操作
private function selectAll(event:Event):void {
var target:CheckBox = event.currentTarget as CheckBox;
var i:uint;
if(target.selected){
for(i=0;i<roleFields.length;i++) {
checkBox[i].selected=true;
}
}else {
for(i=0;i<roleFields.length;i++) {
checkBox[i].selected=false;
}
}
}
private function init():void {
if(role != null && roleFields != null) {
//当前角色所拥有的操作的循环
for(var i:uint=0;i<role.length;i++){
//所有的操作的循环
for(var j:uint=0;j<roleFields.length;j++){
//如果checkbox的data是当前角色拥有的操作的id则check选中
if(role[i].field == checkBox[j].data){
checkBox[j].selected=true;
}
}
}
}
}
//选择的内容
private function selectedContext():void {
var context:String = "";
if(roleFields != null ) {
for(var i:uint=0;i<roleFields.length;i++) {
//如果checkbox被选中把选中的内容记录下来
if(checkBox[i].selected) {
context = context+","+checkBox[i].data;
}
}
}
Alert.show(context);
}
]]>
</mx:Script>
<mx:Array id="arr">
<mx:Object label="Red" data="red" />
<mx:Object label="Orange" data="haloOrange" />
<mx:Object label="Yellow" data="yellow" />
<mx:Object label="Green" data="haloGreen" />
<mx:Object label="Blue" data="haloBlue" />
</mx:Array>
<mx:Panel id="panel" width="50%" paddingLeft="10" verticalGap="10">
<mx:Repeater id="checkBoxRepeater" dataProvider="{roleFields}">
<mx:CheckBox id="checkBox"
label="{checkBoxRepeater.currentItem.name}"
data="{checkBoxRepeater.currentItem.field}"
/>
</mx:Repeater>
<mx:ControlBar horizontalAlign="right">
<mx:CheckBox label="全选" click="selectAll(event)" selected="false"/>
<mx:Button id="button" label="Click me" click="selectedContext()"/>
</mx:ControlBar>
</mx:Panel>
</mx:Application>
分享到:
相关推荐
flex中checkbox的数量可以根据分割字符串来控制,最重要的就是这个<mx:Repeater>标签了
在本例中,我们将探讨如何在***使用Repeater控件结合CheckBox来获取选中行中特定控件的值。 首先,我们定义了一个关键点,即在每行中添加一个隐藏的TextBox控件。在Repeater控件中,每一行的数据通常通过...
通常,我们会在Repeater中使用CheckBox控件,让最终用户可以选择某些行中的数据。在本例中,知识点集中在如何通过Repeater控件中的CheckBox控件选中时获取该行内其他控件(例如TextBox)的值。 知识点可以展开如下...
### Flex Repeater标签使用教程 #### 一、引言 在Flex开发中,`Repeater`组件是一个非常实用的功能,它允许开发者根据动态或静态的数据数组,在运行时重复显示一个或多个用户界面组件。这对于创建动态且响应式界面...
- 设置Repeater的ItemTemplate,根据需要创建HTML结构并使用数据绑定表达式绑定数据源字段。 - 如果需要,可以定义HeaderTemplate和FooterTemplate。 - 指定数据源,可以是SQL查询结果、数据集、列表或其他任何可...
本篇文章将深入探讨`Repeater`控件的使用,包括如何实现编辑、删除功能以及如何进行嵌套使用。 ## 一、Repeater控件的基本使用 `Repeater`控件不提供任何内置的布局或样式,而是通过模板(ItemTemplate、...
`Repeater`控件的数据源可以是任何实现了`IEnumerable`接口的对象,如数组、列表或数据库查询结果。数据绑定通常在`Page_Load`事件中进行,使用`DataSource`属性设置数据源,然后调用`DataBind()`方法。 ```csharp ...
本篇文章重点讨论如何在DataGrid内部嵌套使用Repeater控件,以展示分层次的数据。这种技术同样适用于其他列表绑定控件的组合,例如DataGrid包含DataGrid,或者DataList包含DataList等。 首先,我们要了解DataGrid的...
ASP.NET 编程知识 - 使用 Repeater 控件中的全选进行批量操作实例 本文将详细介绍 ASP.NET 中使用 Repeater 控件中的全选进行批量操作的方法。Repeater 控件是 ASP.NET 中的一种常用的控件,用于显示重复的数据项,...
<asp:Repeater ID="rptUser" runat="server" onitemcommand="rptUser_ItemCommand"> <tr><td colspan="3" align="center">用户信息</td></tr> 用户编号 用户姓名 用户密码 操作 ...
下面我们将深入探讨Repeater控件的使用方法、功能以及应用场景。 1. **Repeater控件的结构** Repeater控件本身不提供任何内置的布局,它只是一个模板化的控件,允许开发者通过ItemTemplate来定义数据项的HTML结构...
本资源主要探讨了如何使用`Repeater`控件进行嵌套,以及如何实现动态数据绑定,这对于构建主从表关系的数据展示非常有用。 首先,我们来看`Repeater`控件的基本概念。`Repeater`是一个无模板的控件,它允许开发者...
### 后台动态创建Repeater并绑定数据 在ASP.NET Web Forms中,Repeater控件是一种非常灵活且功能强大的控件,它允许开发者完全自定义布局,并能够方便地对数据进行迭代显示。本文将详细介绍如何在后台代码中动态...
1. **创建外部Repeater控件**:首先定义一个外部的Repeater控件,它将负责加载顶层数据。 2. **定义内部Repeater控件**:在外部Repeater控件的模板中,定义一个内部的Repeater控件,用于展示与当前顶层数据项相关的...
在Qt Quick(QML)框架中,ComboBox是一个用于创建下拉选择框的组件,它提供了用户可以在一组预定义选项中进行选择的界面元素。在QML编程中,ComboBox是实现简单用户交互的重要工具,适用于创建GUI应用时需要用户从...
在这个场景中,"Repeater 显示5条数据"是指使用Repeater控件来展示数据源中的前五条记录。 **Repeater控件基本使用** Repeater控件不提供内置的样式或分页功能,它的主要任务是遍历数据源并为每一项生成指定的模板...
在本文中,我们将深入探讨如何使用ASP.NET中的Repeater控件来实现动态首尾相接显示图片的功能。Repeater是一个非常灵活的数据绑定控件,它允许我们根据数据源中的每一项自定义HTML输出。这种技术常用于创建列表、...
远程桌面中转是指在公网环境下,使用远程桌面客户端连接到远程桌面服务端的过程。这种连接通常需要经过服务器的中转,以便于客户端和服务端之间的通讯。目前,市面上有许多闭源的远程桌面中转解决方案,如 ...