将外部的XML文件加载到 Flex DropDownList 件中使用
把XML类型 转换成让DropDownList 组件dataProvider 可以用的数据
dataProvider
: IList
此 DataGroup 的数据提供程序。它必须为 IList。
在 Flex 框架中包含多个 IList 实现,包括 ArrayCollection、ArrayList 和 XMLListCollection。
此属性可用作数据绑定的源。修改此属性后,将调度 dataProviderChanged
事件。
解决方法如下:
//创建URLLoader对象
//URLLoader 对象会先从 URL 中下载所有数据,然后才将数据用于应用程序中的代码。它会发出有关下载进度的通知,通过 bytesLoaded
和 bytesTotal
属性以及已分派的事件,可以监视下载进度。
[Bindable]
private var arr:XMLListCollection = new XMLListCollection();
var urlLoader:URLLoader = new URLLoader();
//侦听Event.COMPLETE事件
urlLoader.addEventListener(Event.COMPLETE,complete);
//从外部加载数据
urlLoader.load(new URLRequest("assets/vocation.xml"));
//complete 处理事件的侦听器函数
private function complete(event:Event):void
{
//获得XML文件
var voc:XML = new XML(event.target.data);
//也可以用 voc.children() 方法
arr.source = voc.elements("items");
}
// new
ArrayCollection(arr.toArray()); 可得到ArrayCollection对象,我们这里可以不用
protected function ddl_voc_changeHandler(event:IndexChangeEvent):void
{
content.text = ddl_voc.selectedItem.content;
}
/*Flex 应用程序*/
<s:DropDownList id="ddl_voc" x="20" y="128" labelField="vocation" dataProvider="{arr}" prompt="选择职业"
change="ddl_voc_changeHandler(event)"/>
<s:TextArea id="content" x="15" y="153" width="264" height="102" borderVisible="false" color="#054E30"/>
/*xml文件*/
<vocations>
<items>
<vocation>
战士
</vocation>
<content>
内容
</content>
<skill>
技能
</skill>
</items>
</vocations>
欢迎访问Java学习者论坛 http://www.javaxxz.com
分享到:
相关推荐
- **AJAX技术**:通过使用Ajax技术可以实现在不刷新整个页面的情况下动态加载XML数据,提高用户体验。 - **XML解析**:除了使用原生JavaScript的DOM解析外,还可以考虑使用第三方库如jQuery来简化XML数据的处理过程...
例如,可以使用`XmlDocument`或更高效的`XDocument`来加载XML数据,并遍历节点以获取省市县信息。 实现三级联动的关键在于事件驱动编程。我们为省级DropdownList的`SelectedIndexChanged`事件绑定处理函数,当用户...
1. **加载XML数据**:在页面初始化或加载时,读取XML文件并解析其内容,填充到相应的数据结构中,如Dictionary对象,以便后续使用。 2. **绑定省份**:将解析出的省份数据绑定到第一个DropDownList控件,通常设置一...
然而,在某些场景下,可能会遇到一个问题:即在客户端(浏览器端)对`DropDownList`进行操作后,当页面提交到服务器并重新加载时,`DropDownList`的状态(所选值)并未得到保留。这主要是因为`DropDownList`在客户端...
通过这种方式,XML文件中的专业名称和ID被加载到DropdownList中,用户可以在页面上看到并选择这些专业。这种技术对于构建动态、可扩展的Web应用程序非常有用,特别是当数据量不大且不需要频繁更新时。
1. **加载XML数据**:首先,我们需要使用JavaScript的`DOMParser`或`ActiveXObject`(IE浏览器)来解析XML文件。例如: ```javascript var xhr = new XMLHttpRequest(); xhr.open('GET', 'provinces.xml', true);...
5. **解析并更新DOM**:客户端收到服务器返回的XML数据后,使用DOM操作方法(如`selectNodes`和`nextNode`)解析XML,创建新的`OPTION`元素,并将其添加到`DropDownList2`中,从而完成联动效果。 6. **兼容性处理**...
在这个示例中,使用了VS2005(Visual Studio 2005)作为开发环境,SQL2000作为后端数据库,通过Ajax技术实现了页面的无刷新更新,而XML文件则作为数据源,提供了动态加载和更新数据的能力。 1. **XML数据源**:XML...
2. 在服务器端代码中,为年份的DropDownList加载最近十年的数据。 3. 为年份的DropDownList添加SelectedIndexChanged事件,处理异步请求。 4. 在事件处理方法中,根据选定的年份获取对应的月份数据,并更新月份的...
此外,使用懒加载策略,只在必要时加载第二个DropdownList的数据,也能提高性能。 通过以上步骤,就可以在C# Web应用中实现DropdownList的联动效果。虽然描述中提到没有数据库,但同样的原理可以应用于从数据库获取...
`YYControls.XML`可能是控件的XML文档,描述了控件的属性、方法和事件。`YYControls`目录可能包含了控件相关的资源文件和示例代码。`Web`可能是一个Web应用项目,用于演示如何在实际项目中使用这个扩展的`...
**Ajax:** Asynchronous JavaScript and XML(异步JavaScript和XML)是一种创建交互式网页应用的技术,它可以在不重新加载整个页面的情况下,通过后台加载数据并更新部分页面内容。 #### 二、实现原理 本例中的...
在***中实现将XML文件中的数据绑定到DropDownList控件,主要涉及到以下几个方面的知识点: *** 数据绑定技术 数据绑定是***中的一项核心功能,它允许开发者将数据源中的数据与服务器端或客户端控件动态地关联起来。...
3. AJAX (Asynchronous JavaScript and XML): 在现代网页应用中,通常使用AJAX来异步加载数据,以避免页面刷新。当我们无法预先知道所有三级选项时,可以使用AJAX向服务器发送请求,获取当前所需的数据,然后动态...
而通过引入AJAX(Asynchronous JavaScript and XML)技术,我们可以实现DropdownList的联动效果,即当用户在一个DropdownList中选择一个选项时,无需刷新整个页面,另一个DropdownList会根据用户的选择动态更新其...
在ASP.NET开发中,DropdownList控件是一种常用...这个基本示例可以作为进一步复杂应用的基础,例如分页加载、异步填充或者根据用户输入动态调整选项等。对于初学者来说,熟练掌握这个过程是迈进ASP.NET开发的重要一步。
在ASP.NET中,可以通过DataSource控件结合DataBinding来绑定数据源,例如数据库、XML文件或Web服务,实现动态数据加载。 8. **事件处理** 要实现交互效果,需要监听和处理用户的操作事件,如打开下拉、选择项、...
在IT行业中,尤其是在Web开发领域,XML(eXtensible Markup Language)无刷新三级联动下拉DropDownList是一种常见的交互设计模式。这个示例文件“商业编程-源码-XML无刷新三级联动下拉DropDownList示例.zip”显然是...
`DropDownList`控件的数据源可以是数组、数据库查询结果、XML数据等。以下是一个从数组绑定数据的例子: ```csharp string[] options = { "Option1", "Option2", "Option3" }; ddlOptions.DataSource = options;...
在实际应用中,我们可能需要动态加载下拉框的选项或者将用户的选择发送到服务器。这可以通过AJAX实现。例如,使用jQuery的`$.ajax()`方法,我们可以异步地获取数据并更新下拉框: ```javascript $.ajax({ url: ...