`

Flex 数据绑定技巧

阅读更多

有一种简单的方法可以通过选中来激活/禁用控件。举个例子,假设你有一个DataGrid以及一些操作数据的按钮,这些按钮中有一些只能在选中某一行的时候才可以使用,另外一些按钮只能在没有选中的时候使用,还有一些只能在选中特定行的时候使用。

问题
为了达到上述目的,你可能需要编写一些if语句或者使用数据绑定设定一个变量然后在代码里不断调整变量的值。就像这样:
程序代码
[Bindable]
private var somethingSelected:Boolean = false;
<mx:Button label=”Publish” click=”publishItem()” enabled=”{somethingSelected}” />
这是个不错的想法。所有依赖于DataGrid的选中状态的控件都被绑定到了一个变量上。改变这个变量就改变了控件的活动状态。然而,你仍然需要决定什么时候更改这个变量。例如:
程序代码
private function publishItem() : void {
// get the selected item
// publish it
grid.selectedItem = -1; // clear the selection
somethingSelected = false;
}
让 我们把事情变得复杂一点,假设当选中的一行中里包含一个特殊的值有一个按钮就会被激活。现在你就不只要注意变量somethingSelected了,还 需要注意这个附加的检验。换句话说,在publishItem()函数里你还需要设定另外一个变量。有越多的条件限制这个函数就会越复杂。
一种较简单的方法
这里有一种较简单的方法。现在按钮已经绑定到了somethingSelected变量,剩下的就是将somethingSelected变量绑定到DataGrid的状态了。你可以使用<mx:Binding>标签:
程序代码
<mx:Binding source=”grid.selectedIndex >= 0” destination=”somethingSelected” />
现 在somethingSelected的值绑定到了DataGrid的选定状态上了。选中某行somethingSelected的值会变为true,然 后所有标签里有enabled=”{somethingSelected}”的标签都会被激活,所有标签里有enabled=”{! somethingSelected}”的按钮都会被禁用。
Bingding标签的source不一定必须是变量。它可以是一个表达式,如下面所示。这里source就是一个简单的条件,判断DataGrid的selectedIndex是否大于等于0。
这里是一个稍微有点复杂的例子:
 程序代码
<mx:Binding source=”grid.selectedItem.code == 1” destination=”codeOnePicked” />
如果DataGrid的某条记录的某个域的值如果为1将会使变量codeOnePicked的值变为true。
程序代码
<mx:CheckBox label=”Code One?” selected=”{codeOnePicked}” />
<mx:Button label=”Publish” enabled=”{somethingSelected && !codeOnePicked}” />
在这里,只要DataGrid中被选择的记录code域为1,CheckBox就会被选中,同时按钮就会被禁用。
总结
在你的程序中如果有控件依赖于选中状态或者其他UI的状态,可以尝试使用<mx:Binding>标签,它可以使代码干净,同时也更容易阅读和扩展

分享到:
评论

相关推荐

    flex数据绑定 pdf

    通过这份PDF,读者不仅可以理解Flex数据绑定的基本概念,还能掌握其在实际开发中的应用技巧,从而提升Flex应用的开发效率和用户体验。如果你对Flex编程感兴趣,这份PDF无疑是一份宝贵的参考资料。

    flex数据绑定

    ### Flex 数据绑定详解 #### 一、数据绑定概念与重要性 数据绑定是Flex和Adobe AIR应用程序开发中的关键概念之一,其主要目的是实现不同对象之间的数据传输与同步更新。通过数据绑定,开发者能够轻松地在用户界面...

    Flex初级数据绑定代码

    ### Flex初级数据绑定代码解析 #### 一、概述 本文将详细介绍一个Flex应用程序中的...未来在更复杂的项目中,可以进一步探索更多高级的数据绑定技巧,如双向绑定、条件绑定等,以提高应用程序的灵活性和可维护性。

    Flex高级数据绑定实例(界面语言切换)

    ### Flex高级数据绑定实例——界面语言切换 #### 概述 在Flex开发中,实现界面的多语言切换是一项常见的需求。本示例通过一个具体的代码片段来展示如何使用Flex中的高级数据绑定技术来实现这一功能。该示例不仅...

    Flex使用json和xml数据交互

    假设我们首先采用表格形式展示数据,这涉及到使用Flex中的数据绑定机制,将服务器返回的数据映射到界面上的各个元素。 在MXML中,可以通过DataGrid组件实现这一目标。DataGrid组件可以绑定到一个数据源,自动显示...

    Flex常用教程及库

    压缩包中的“FLEX数据绑定专题”可能包含以下内容: 1. **基础教程**:介绍数据绑定的基本概念,如何在MXML和ActionScript中设置绑定,以及不同类型的绑定。 2. **案例分析**:通过实际项目示例,展示数据绑定在...

    flex DataGrid 嵌入Combobox列拖动下拉条数据混乱

    总的来说,解决Flex DataGrid中Combobox列拖动时数据混乱的问题需要理解数据绑定、自定义渲染器和事件监听等核心概念。通过恰当的编程实践和技巧,我们可以使DataGrid在提供灵活交互的同时,保持数据的一致性和正确...

    flex完全自学手册

    - 《Flex完全自学手册》这本书可能涵盖了Flex的基础知识、组件使用、数据绑定、网络通信、动画效果、AIR应用开发等内容,是学习Flex的全面指南。 - 光盘内容可能包含书中示例代码、额外的练习项目和可能的Flex SDK...

    Flex资料大全(Flex白皮书 Flex cookbok Flex编程指南 Flex设计模式等)

    它涵盖了Flex开发中遇到的各种常见问题,如用户界面设计、数据绑定、事件处理、动画制作等,是开发者在实际开发中快速查找和解决问题的得力工具。 3. **Flex编程指南**: Flex编程指南可能详细阐述了Flex开发过程...

    flex

    6. **数据绑定**:Flex支持数据绑定,使得视图层与模型层的数据能自动同步,简化了UI与业务逻辑的关联。 7. **Flex应用结构**:典型的Flex应用通常采用Model-View-Controller(MVC)架构,分离视图、控制逻辑和数据...

    Flex基础教程实例源码

    这个“Flex基础教程实例源码”压缩包提供了学习Flex开发的基础知识和实践经验,涵盖了Array、数据绑定以及事件机制等多个核心概念。 1. **Array**: 在ActionScript中,Array类是用于存储有序集合的基本数据结构。你...

    adobe flex例程源码

    5. **数据绑定**: Flex支持数据绑定,使得视图层和数据模型之间的同步变得简单。通过数据绑定,当模型数据改变时,界面会自动更新,反之亦然。 6. **事件处理**: Flex事件模型允许组件之间进行通信。源码中可能包含...

    EmployeeManager.zip_LCDS Flex_flex_flex LC_flex lcds

    Adobe Flex和LiveCycle Data Services(LCDS)是开发此类应用的两大利器,尤其对于企业级应用,它们的结合提供了强大的数据绑定和远程服务交互能力。本文将以"EmployeeManager.zip_LCDS Flex_flex_flex LC_flex lcds...

    Flex学习相关资料

    - **性能优化技巧**:如合理使用数据绑定、减少不必要的重绘和布局计算等,以提高Flex应用的运行效率。 通过学习这些Flex知识,开发者不仅可以掌握创建富有吸引力和互动性的Web应用的技能,还能理解如何有效地管理...

    flex中文帮助文档

    5. **数据绑定**:Flex支持数据绑定,允许界面元素自动反映模型数据的变化。文档会解释如何设置数据绑定,以及双向数据绑定的概念。 6. **Services和Remoting**:Flex提供了与服务器通信的机制,如HTTPService、...

    flex4-binding-custom-Class.rar_flex_flex4

    在Flex 4中,数据绑定是一项强大的特性,它允许开发者创建动态、响应式的用户界面,无需编写大量的事件处理代码。本教程将深入讲解如何在Flex 4中对自定义类进行数据绑定,通过一个实际的MXML文件和AS文件示例来阐述...

    flex完全自学手册PPT

    Flex是Adobe公司开发的一种用于构建富互联网应用(RIA, Rich Internet Applications)的开源框架,它主要基于ActionScript和MXML语言,提供了丰富的用户界面组件和强大的数据绑定功能,使得开发者可以创建出交互性强...

    Flex应用程序性能改善技巧

    2. **优化数据绑定**:Flex中的数据绑定虽然方便,但过度使用可能导致不必要的计算。可以使用`{=}`单向数据绑定或`{&gt;}`延迟数据绑定来减少不必要的更新。 3. **使用位图缓存**:对于复杂的矢量图形,将其转换为位图...

    flex_study_pdf

    4. **数据绑定**:Flex的数据绑定机制允许视图组件自动反映模型数据的变化,减少了手动同步数据的工作。这部分可能会介绍数据绑定的概念、语法和应用场景。 5. **图形和动画**:Flex支持矢量图形和动画,可以创建出...

Global site tag (gtag.js) - Google Analytics