arcgis flexviewer所有的小部件类均继承自com.esri.viewer.BaseWidget基类,而BaseWidget又继承了com.esri.viewer.IBaseWidget接口。所有的小部件又由WidgetManager类进行管理。因此,要实现从Application向widget传值,需要经由WidgetManager完成。例如,用户登录时记录了用户名,在widget中需要对用户名进行验证,可通过下述步骤将用户名(字符串)传递到所有的继承了上述小部件基类的widget中。

1、修改IBaseWidget接口文件,增加下述函数定义:

function set userName(value:String):void;
function get userName():String;

2、在基类BaseWidget中实现上述方法:

private var _username:String;

[Bindable]
public function get userName():String
{
return _username;
} public function set userName(value:String):void
{
_username = value;
}

3、按照上述方法,在WidgetManager中定义相关的变量和属性存取器,如下:

private var user_name:String;

[Bindable]
public function set userName(value:String):void
{
user_name = value;
}
[Bindable]
public function get userName():String
{
return user_name;
}

4、假设Application中(一般为主页)有一个名为userNameStr的字符串变量,在WidgetManager的MXML声明中做如下定义:

<viewer:widgetManager>
<managers:WidgetManager id="widgetManager" userName="{userNameStr}"/>
</viewer:widgetManager>

5、在WidgetManager类的createWidget函数中,在widget.map = map;语句之后添加下述代码:

widget.userName = this.userName;

6、测试。用户名为admin,在小部件中添加:

Alert.show("Widget: " + this.userName);

执行相关代码,可见到来自小部件的消息框:

DONE.

arcgis flexviewer中由Application向widget传值的更多相关文章

  1. [转载]ArcGIS Engine 中的多线程使用

    ArcGIS Engine 中的多线程使用 原文链接 http://anshien.blog.163.com/blog/static/169966308201082441114173/   一直都想写 ...

  2. ArcGIS Engine 中的多线程使用

    转自原文ArcGIS Engine 中的多线程使用 一直都想写写AE中多线程的使用,但一直苦于没有时间,终于在中秋假期闲了下来.呵呵,闲话不说了,进入正题! 大家都了解到ArcGIS中处理大数据量时速 ...

  3. ArcGIS engine中Display类库 (局部刷新)

    转自原文 ArcGIS engine中Display类库 (局部刷新) Display类库包括了用于显示GIS数据的对象.除了负责实际输出图像的主要显示对象(display object)外,这个类库 ...

  4. ajax中的POST和GET传值

    ajax中的POST和GET传值 转自:http://www.cnblogs.com/jtome/archive/2008/12/04/1347864.html Ajax中我们经常用到get和post ...

  5. ArcGIS Engine 中的多线程使用[转载]

    一直都想写写AE中多线程的使用,但一直苦于没有时间,终于在中秋假期闲了下来.呵呵,闲话不说了,进入正题!         大家都了解到ArcGIS中处理大数据量时速度是相当的慢,这时如果你的程序是单线 ...

  6. ArcGIS Engine中的8种数据访问 (转)

    数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文主要介绍一下以下八种数据格式在ArcGI ...

  7. ArcGIS Engine中的数据访问

    ArcGIS Engine中的数据访问 数据是GIS的基础, 访问数据也是进行任何复杂的空间分析及空间可视化表达的前提.ArcGIS支持的数据格式比较丰富,对不同的数据格式支持的程度也有很大差异.本文 ...

  8. MVC中视图View向控制器传值的方法

    MVC中视图View向控制器传值的方法步骤如下: 1.index页面: 页面中只需要一个触发事件的按钮

  9. ajax中的application/x-www-form-urlencoded中的使用

    ajax中的application/x-www-form-urlencoded中的使用一,HTTP上传的基本知识 在Form元素的语法中,EncType表明提交数据的格式 用 Enctype 属性指定 ...

随机推荐

  1. Windows 8.1 应用再出发 (WinJS) - 几种新增控件(1)

    Windows 8.1 和 WinJS 引入了以下新控件和功能,分别是:AppBarCommand.BackButton.Hub.ItemContainer.NavBar.Repeater.WebVi ...

  2. 【原创】-- uboot,kennel,fs,rootfs 编译制作

    环境:ubuntu14.04  内核版本 linux 3.13.0   OK6410 内核编译环境   linux 3.0.1 uboot版本    1.1.6   交叉编译工具链   arm-lin ...

  3. 数据库知识整理<五>

    简单的数据查询: 5.1查询的基本结构: Sql语句:select [distinct] (* | column [alias],...) from table [where condition] [ ...

  4. LoadRunner测试50人同时登陆下单

    LoadRunner测试50人同时登陆下单 一.LoadRunner简介 LoadRunner,是一种预测系统行为和性能的负载测试工具.通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找 ...

  5. 学习WPF——WPF布局——初识布局容器

    StackPanel堆叠布局 StackPanel是简单布局方式之一,可以很方便的进行纵向布局和横向布局 StackPanel默认是纵向布局的 <Window x:Class="Wpf ...

  6. SQL SERVER 数据库查询表和字段信息语句

    --数据库中所有表的信息(很强悍的)    SELECT    表名               =   CASE   WHEN   A.COLORDER=1   THEN   D.NAME   EL ...

  7. IIS7 配置

    1.配置应用程序池->高级设置 (1) .net Framework版本 :V4.0 (2)启用32位应用程序 :True (3)特定时间: 上班之前,下班之后 2.网站配置->高级设置 ...

  8. [ACM_数据结构] 竞赛排名

    比赛排名 Time Limit:1000MS  Memory Limit:32768K Description: 欢迎参加浙江工业大学“亚信联创杯”程序设计大赛,本次竞赛采用与 ACM/ICPC 相同 ...

  9. Windows 8.1 开发过程中遇到的小问题

    最近在开发Windows 8 应用的时候碰到了一个莫名的问题,错误内容如下:(其中 **.DLL是本地创建的项目,在主项目中添加了引用,其中大部分代码是MVVM light 框架库的代码) Syste ...

  10. 不要过早退出循环 while(1){no break}

    我们在尝试新的事物的时候,总是会遇到各种各样的困难,不同的人会在碰壁不同的次数之后退出.用程序员喜欢的话来说就是,我们都在for循环,区别在于你是什么情况下break的.有的人退出阈值高,这是能坚持的 ...