`
bufanliu
  • 浏览: 200613 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

对定制类的数据绑定

    博客分类:
  • FLEX
阅读更多
默认的,定制类的实例是不执行数据绑定的。要执行数据绑定,必须使用[Bindable]元标签来告诉编译器。可将[Bindable]用于一个类
一个属性
一个内含的getter方法
一个内含的setter方法
在类声明前使用[Bindable]表明该类所有的public属性和所有的getter和setter方法对是可绑定的。
在属性声明前使用[Bindable]只表明这个属性是可绑定的。
当有getter和setter方法为一样的名称时,只需在它们之一前放置[Bindable],表明它们是可绑定的。
而仅有getter方法时,它只能作为数据绑定的源
而仅用setter方法时,它只能作为数据绑定的目标。
在实际中使用数据绑定时,你不仅要在类定义中声明[Bindable],也要对它的实例声明[Bindable]。
定制的数据绑定
数据绑定实际上是通过标准Flash Player事件模型工作的。分发的事件类型是propertyChange。在很多情况下,能很好地工作。但若一个类有很多执行数据绑定的属性,将会引起低效率的,因为任何时候,任何属性的改变,监听该实例被绑定属性所有的改变的所有监听器都会收到一个通知,如果每个属性分发唯一的事件名,将会有效率的多。可以给[Bindable]标签加上事件名来实现:
[Bindable(event="customEvent")]
但此时,你必须手动分发这个事件:
dispatchEvent(new Event("customEvent"));
而且显然,此时你必须分别为每个要绑定的属性或getter/setter方法对指定[Bindable]。
Example 12-5. Customized data binding
package com.oreilly.programmingflex.binding {
    import flash.events.Event;
    import flash.events.EventDispatcher;
    public class CustomizedDataBindableExample extends EventDisaptcher {
        private var _a:String;
        private var _b:String;

        [Bindable(event="aChange")]
        public function get a( ):String {
            return _a;
        }
        public function set a(value:String):void {
            _a = value;
            dispatchEvent(new Event(A_CHANGE));
        }
        [Bindable(event="bChange")]
        public function get b( ):String {
            return _b;
        }
        public function set b(value:String):void {
            _b = value;
            dispatchEvent(new Event(B_CHANGE));
        }
        public function CustomizedDataBindableExample( ) {
            _a = "a";
            _b = "b";
        }
    }
}
数据绑定的例子:
一,动态改变Image控件的source,透明度,长宽等
二,把数据绑定用于web service的参数和结果
绑定web service的结果到文本框:
<mx:WebService id="survey" wsdl="http://www.rightactionscript.com/webservices/
FlashSurvey.php?wsdl">
        <mx:operation name="getAverages" resultFormat="object" />
    </mx:WebService>
<mx:Binding source="survey.getAverages.lastResult.flash"
                destination="resultFlash.text" />
    <mx:Binding source="survey.getAverages.lastResult.actionscript"
destination="resultActionScript.text" />
将控件的值绑定到web service的参数:
<mx:WebService id="survey" wsdl="http://www.rightactionscript.com/webservices/
FlashSurvey.php?wsdl">
        <mx:operation name="getAverages" resultFormat="object" />
        <mx:operation name="takeSurvey">
            <mx:request>
                <years_flash></years_flash>
                <years_actionscript></years_actionscript>
            </mx:request>
        </mx:operation>
    </mx:WebService>
<mx:Binding source="flashValue.value"
        destination="survey.takeSurvey.request.years_flash" />
    <mx:Binding source="actionScriptValue.value" destination="survey.takeSurvey.
request.years_actionscript" />
需要学习的是Image控件的使用及web service的知识。
使用数据绑定代理
一些类型的对象和一些元素是不能直接使用数据绑定的,例如,组件的风格。但可使用一种叫delegation的方法。接下去的内容和例子没完全看懂,在p284。对共享对象使用绑定。
分享到:
评论

相关推荐

    WPF数据绑定例子

    5. **转换器(IValueConverter)**:在数据绑定过程中,有时需要对数据进行转换才能适应UI的显示。转换器接口(IValueConverter)允许自定义转换逻辑。 6. **源更新触发策略(UpdateSourceTrigger)**:这个属性...

    c# devexpress chartControl数据绑定例程

    本文将深入探讨如何在C#环境中使用DevExpress的ChartControl进行数据绑定,以创建交互式、丰富的数据图表。 1. **DevExpress ChartControl简介** DevExpress ChartControl是一款功能齐全的图表组件,它支持多种...

    ASPNET数据绑定.ppt

    Repeater是最灵活但也是最基础的数据绑定控件,它不提供内置的分页、排序或编辑功能,而是完全由开发者控制数据的呈现方式,适合用于创建高度定制的列表展示。 ASP.NET的数据绑定不仅限于以上三种控件,还包括诸如...

    Visual C#中的数据绑定, 数据绑定根据不同组件可以分为二种

    复杂数据绑定还可以利用数据模板(DataTemplate)自定义数据项的呈现方式,实现高度定制的界面。 在Visual C#中,数据绑定主要通过以下几种方式实现: 1. XAML(Extensible Application Markup Language)绑定:在...

    treeview动态数据绑定

    4. **数据绑定事件**:使用TreeView控件的`DataSourceChanged`事件或`ItemDataBound`事件,可以根据需要进行进一步的定制,比如添加自定义的样式或行为。 5. **实时更新**:当数据源发生变化时,如添加、删除或修改...

    数据源控件与数据绑定控件

    数据绑定控件主要用于在用户界面上展示数据,分为以下几类: 1. **列表型**:如Repeater,它允许高度自定义的布局和样式,灵活性强,但功能相对基础。 2. **表格式(复合型)**:如GridView,它可以自动创建表格...

    asp.net 数据绑定控件

    ASP.NET 数据绑定控件是Web开发中用于展示和操作数据的核心组件,它们简化了与数据库或其他数据源交互的过程。在ASP.NET框架中,数据绑定提供了一种声明式的方式来将控件(如GridViews、ListViews、DataLists等)与...

    C# datagridview 绑定数据后绑定标题

    在C#编程中,`DataGridView`控件是一个非常重要...总之,`C# datagridview 绑定数据后绑定标题`是一个涵盖数据绑定和界面定制的多方面话题。通过熟练掌握这些技巧,开发者能够创建出功能强大且用户友好的数据展示界面。

    asp.net之数据绑定控件

    在ASP.NET中,数据绑定控件是用于展示和操作数据的核心元素。这些控件使得开发者能够轻松地将数据库或其他数据源中的数据与用户界面(UI)进行连接,从而实现动态、交互式的网页应用。以下是对标题和描述中提及的...

    asp.net 数据绑定控件实例

    在本实例中,我们将聚焦于ASP.NET中的数据绑定控件,包括DataList、GridView以及Repeater,这些都是在数据操作中非常重要的组件。 **DataList控件** DataList控件是一种高度可定制的数据展示控件,它可以显示数据...

    Echarts后台获取数据绑定详细样例

    ### ECharts 后台数据绑定详解 在前端开发过程中,数据可视化工具的使用越来越广泛,而 ECharts 作为一款优秀的开源 JavaScript 图表库,凭借其丰富的图表类型、强大的交互功能及良好的可定制性,深受开发者喜爱。...

    列表数据绑定、分页和地区选择插件

    在IT行业中,前端开发是构建用户交互界面的关键环节,而列表数据绑定、分页和地区选择插件是提高用户体验和优化网站性能的重要工具。本篇将深入探讨这些知识点,并结合具体的前端插件应用进行阐述。 首先,我们要...

    TreeView数据绑定

    这个控件可以被数据绑定,使得程序能动态地加载和展示数据,而无需手动创建每个节点。"TreeView数据绑定"是一个关键的技术,允许开发者将数据库、XML文件或者其他数据源中的数据直接映射到TreeView控件上,简化了UI...

    TreeView数据绑定方法

    这种方式简化了数据绑定的过程,但可能不适用于复杂的定制需求。 5. **自定义数据绑定** 对于更复杂的数据绑定需求,你可能需要实现`IList`接口或使用`BindingSource`配合`TreeView`的`NodeBinding`事件。在`Node...

    数据绑定的三种方法.

    除了MXML中的绑定方法之外,Flex还提供了ActionScript中的`BindingUtils`类来实现更为灵活的数据绑定。`BindingUtils`类包含了一系列用于创建和管理绑定的方法,例如`bindProperty()`等。 下面是一个使用...

    MapX教程之数据库绑定篇 

    通过以上步骤,即可实现在MapX中对空间数据与属性数据的有效绑定,从而构建出功能强大的GIS应用程序。这种方式不仅提高了数据管理的灵活性,还为开发者提供了更多定制化的选项,满足不同场景下的需求。

    listbox数据绑定

    然而,两者在数据绑定方面的实现机制有所不同。在Android中,ListView的数据绑定更加灵活,可以动态地添加数据模板,而在WP7中,通常需要在XAML中提前定义好数据模板。 对于Android的ListView,我们有以下几种方式...

    Jquery数据绑定分页源码

    “Jquery数据绑定分页源码”可能是对一个特定的jQuery分页插件的实现,包含了数据绑定和分页逻辑的源代码。这个源码可能包含以下部分: 1. **数据获取**:这部分代码负责从服务器或本地获取数据,可能涉及Ajax请求...

    wpf 数据绑定,自定义列头

    在WPF(Windows Presentation Foundation)开发中,数据绑定是一项核心特性,它允许UI元素与数据模型之间进行直接的交互,简化了数据展示和更新的过程。本篇将深入探讨如何在WPF中实现数据绑定,特别是在DataGrid...

    asp.net数据绑定

    ASP.NET 数据绑定是微软开发的一种强大的技术,用于在Web应用程序中动态显示和操作数据。它允许开发者将数据源(如数据库、XML文件或对象集合)与用户界面元素(如控件)连接起来,使得数据的更新和展示变得更加简单...

Global site tag (gtag.js) - Google Analytics