`

FLEX example 例子

    博客分类:
  • FLEX
阅读更多
How to find an ArrayCollection item with a specific property value?牛!
http://stackoverflow.com/questions/1566145/how-to-find-an-arraycollection-item-with-a-specific-property-value

上帖中有两种实现方式:一是通过Array的filter(),二是通过ArrayCollection的filterFunction;不得不说,这个帖子真好!下面是参考上帖后使用第一种方式的本地业务实现:
引用
protected function updateDevPosEventListener(event:Event):void
			{
				var win:AdjustDevicePosition = event.target as AdjustDevicePosition;
				//binding updated dev‘s position prop
				var newDeviceAC:ArrayCollection = win.deviceAC as ArrayCollection;
				for(var i:int=0; i<newDeviceAC.length; i++) {
					var newDeviceVo:FidsDeviceVo = newDeviceAC.getItemAt(i) as FidsDeviceVo;
					var deviceVo:FidsDeviceVo = findVoInDeviceAC(deviceAC, findId(newDeviceVo.id)) as FidsDeviceVo;
					deviceVo.position = newDeviceVo.position;
				}
				PopUpManager.removePopUp(win);
			}
			
			
			public function findVoInDeviceAC(c:ArrayCollection, find:Function):Object {
				var matches : Array = c.source.filter( find );
				return ( matches.length > 0 ? matches[0] : null );
			}
			
			public function findId(id:String):Function {
				return function( element:*, index:int, array:Array ):Boolean
				{
					return element.id == id;
				}
			}





Removing items from a Flex DataGrid control using the DragManager class:
http://blog.flexexamples.com/2008/04/16/removing-items-from-a-flex-datagrid-control-using-the-dragmanager-class/comment-page-1/#comment-9253




flex中的beanutil.copyproperties:
http://www.kensodev.com/2010/06/22/copy-object-properties-to-another-object-flex/




FLEX中的eval:
http://nsdevaraj.wordpress.com/2008/03/18/eval-in-as3/
引用
var functionName:String = “foo” + bar;
if (this.hasOwnProperty(functionName))
this[functionName]();





设置enable,可以用来简单的防止重复提交:
Disabling a Spark Application container in Flex 4:
http://blog.flexexamples.com/2009/08/14/disabling-a-spark-application-in-flex-4/
Disabling user input in a Flex Application:
http://blog.flexexamples.com/2008/02/20/disabling-user-input-in-a-flex-application/




为控件的 enabled={boolExp} 设置多个boolExp 且操作判断项:
http://thanksmister.com/?p=45
引用
或操作可以直接使用 enabled={boolExp1 || boolExp2}
但对且操作,直接使用&&(enabled={boolExp1 && boolExp2})会报错“The entity name must immediately follow the ‘&’ in the entity reference.”。解决办法如上贴所说两种:
<mx:Button label=”MyButton” enabled=”{(active1) ? (active2):false}” />

<mx:Button label=”MyButton” enabled=”{(active1) &amp;&amp; (active2)}” />





Flex StringValidator的maxLength可输入控件的maxChars 都是用来检测输入域输入的字符数的(一个中文就是一个字符)。这里给出一个检测输入域字节长度的方法:
private function getStrByteLen(sChars:String) : int { 
        return sChars.replace(/[^\x00-\xff]/g,"xx").length; 
} 





Trimming strings using the Flex StringUtil class’s trim() method:
http://blog.flexexamples.com/2007/09/07/trimming-strings-using-the-flex-stringutil-classs-trim-method/




当Datagrid中列非常多时,默认的横向滚动策略下,横向滚动条会是可伸缩的,导致纵向滚动条在可见区域中看不见,即使你配了 height="100%" width="100%";此时可通过为datagrid加上 minWidth参数设置(minWidth="像素数")让其横向滚动条的长度固定。
当datagrid列很多,数据量也很大时,datagrid的滚动条反映会很迟钝,凸显出严重的性能问题。解决大数据量/很多列 datagrid滚动性能问题的办法:
Flex Smooth Scrolling DataGrid:
http://hash-pipe.com/2008/11/flex-smooth-scrolling-datagrid/
http://blogs.adobe.com/aharui/2008/11/faster_datagrid_horizontal_scr.html





动态调整DataGrid列的显示:
http://www.cnblogs.com/ping58/archive/2010/05/27/1745579.html




FLex datagrid list等的行style(背景色/字体/加粗等)设置:
通过itemrender让datagrid中选定的行的字体变粗:
Flex DataGrid Selected Row Styling:
http://www.switchonthecode.com/tutorials/flex-datagrid-selected-row-styling

List/ComboBox Row Backgrounds in Flex:
http://www.barneyb.com/barneyblog/2007/06/22/listcombobox-row-backgrounds-in-flex/
http://blog.csdn.net/terryzero/archive/2010/02/23/5321002.aspx
通过工厂去创建datagrid列的itemrender;适用为动态增加的datagridcolumn添加itemrender:
DIFFERENT ROWS IN DATAGRID – PROGRAMMATICALLY ADDED ITEMRENDERERS (CLASSFACTORY AND IFACTORY):
http://www.flexer.info/2009/01/09/different-rows-in-datagrid-programmatically-added-itemrenderers-classfactory-and-ifactory/
Flex datagrid/advancedatagrid按条件显示行的背景颜色:
http://blog.csdn.net/cfhacker007/archive/2010/08/03/5784523.aspx






Flex使用弹出窗口为DataGrid添加新数据:
http://www.iteye.com/topic/356788






设置s:NavigatorContent的vislble和includeInLayout:
http://stackoverflow.com/questions/3755806/flex-is-it-possible-to-hide-some-tabs-in-tab-navigator-and-show-them-only-when-c
引用
Use the TabNavigator's getTabAt() method which returns the Button that makes up the visual tab and set the visible property to false. It can be tricky with bindings.
Flex - Hide and show tab in tabnavigator:
http://whatsmytitletoday.blogspot.com/2009/06/flex-hide-and-show-tab-in-tabnavigator.html
引用
This becomes very important if you want to hide tabs in a tab navigator but you don't want to remove them from the interface completely. In my situation I wanted to hide tabs in a tab navigator based on what the user had selected in a data grid. If the user selected another row in the grid I may need to show a tab that I had previously hidden.
tabNav.getTabAt(1).visible = false;
Now to elaborate on Venkatesh's post...
To remove the tab stop, also disable it:
tabNav.getTabAt(1).enabled = false;
Now if you are hiding a tab before another tab (that is not hidden) there will be an empty gap where your tab should be. To fix this:
tabNav.getTabAt(1).includeInLayout = false;
And one final thing. If you're hiding your default tab (i.e. tab index 0) you will also need to set the selected index of the tabNav or else you will still see the contents of the default tab.
tabNav.selectedIndex = 2; //If you were hiding the first 2 tabs (tab 0 and tab 1)







Flex中ArrayCollection的克隆
Cloning ArrayCollection:
http://jodieorourke.com/view.php?id=105&blog=news
引用
下面的方式,新的arraycollection和旧的使用的是同一个source,所以对任一arraycollection做增删操作,另一个会跟着变化
var newAC:ArrayCollection = new ArrayCollection( originalAC.source ) ); 
想做深度的克隆,即让源arraycollection和克隆出的arraycollection在克隆会使用不同的array作为source,从而达到对两个arraycollection的操作互不影响的目的,可以使用以下两种方式:
private function clone( source:Object ) :*
{
var myBA:ByteArray = new ByteArray();
myBA.writeObject( source );
myBA.position = 0;
return( myBA.readObject() );
}
var newAC:ArrayCollection = new ArrayCollection( clone( originalAC.source ) );  //方式一

var myAC:ArrayCollection = new ArrayCollection( ObjectUtil.copy( originalAC.source ) as Array );   //方式二






为一个arrayCollection指定多个filterFunction:
ArrayCollection with multiple filter functions:
http://blog.rotundu.eu/flex/arraycollection-with-multiple-filter-functions/





Finding substrings and patterns in strings:
http://livedocs.adobe.com/flex/3/html/help.html?content=09_Working_with_Strings_09.html






TabBar 和 LinkBar例子:
http://learn.adobe.com/wiki/display/Flex/TabBar+and+LinkBar





Determining when an ArrayCollection changes in Flex:
http://blog.flexexamples.com/2008/05/14/determining-when-an-arraycollection-changes-in-flex/
分享到:
评论

相关推荐

    FLEX官方EXAMPLE

    FLEX程序的例子,一共有八个。看懂了这八个例子,可以说FLEX初级的一些小程序基本都没问题了,虽然例子挺小的。

    flex学习例子,本人学习过程中做的例子

    这个“flex学习例子”压缩包包含了作者在学习Flex过程中的实践项目,旨在帮助其他学习者通过实例来理解Flex的用法和功能。 1. Flex基础:Flex是一个开放源代码的开发框架,主要用于创建交互式、高性能的Web应用程序...

    flex4 httpservice 例子

    Flex4是一种基于ActionScript 3.0的开源框架,用于构建富互联网应用程序(RIA)。它提供了强大的组件库、数据绑定和高级图形功能,使得开发者能够创建具有高度交互性和视觉吸引力的Web应用。在Flex4中,`HTTPService...

    flex/bison c++的例子

    flex bison使用c++方式实现的例子 flex bison使用c++方式实现的例子

    4个简单的Flex例子(包含custom-class-mapping)共享

    3.http://127.0.0.1:8080/flexDemo/HelloWorld/ReadExample.html 4.http://127.0.0.1:8080/flexDemo/HelloWorld/WriteExample.html 第1个例子没有用到数据库,其余3个连接了mysql数据库,分别是读和写。 如果你的...

    Flex example

    Flex是Adobe开发的一种开源框架,主要用于构建富互联网应用程序(RIA)。在这个"Flex example"中,我们可以看到多个关键组成...通过研究这个例子,开发者可以深入理解Flex框架的工作原理,提升其在RIA开发中的技能。

    flex crud例子

    Flex CRUD例子是一个典型的客户端-服务器应用程序,展示了如何使用Adobe Flex作为前端用户界面,与Java后端进行数据交换来实现创建(Create)、读取(Read)、更新(Update)和删除(Delete)操作。这个示例项目包含...

    flex_bison_code_example

    在本资源中,“flex_bison_code_example”提供了关于如何使用Flex和Bison的实践示例,对于初学者来说是一个很好的学习起点。 Flex(原名lex)是一个用于生成词法分析器的工具,它的主要任务是识别输入流中的模式...

    Flex的remoteObject例子

    Flex是Adobe Flex框架的一部分,它是一个用于构建富互联网应用程序(RIA)的开源开发工具。在Flex中,RemoteObject是ActionScript类,它允许与后端服务器进行通信,通常用于调用远程服务,如AMF(Action Message ...

    flex 调用websevice的例子

    这需要指定WebService的WSDL(Web服务描述语言)URL,例如:`new WebService({wsdl:"http://example.com/service?wsdl"})`。 2. **定义服务方法**:Flex会自动生成与WSDL中定义的服务操作相对应的方法。这些方法...

    Flex与Java通信采用blazeDS的方式的例子helloworld

    总结,这个“Hello, World”例子展示了Flex与Java通信的基本流程:在Flex中通过RemoteObject调用Java服务,Java服务返回数据,BlazeDS负责数据的传输和转换。实际开发中,我们可以将此模式扩展到更复杂的数据交换...

    Flex2的几个行为动画源码

    4. **Example_3**: 由于没有具体描述,这个例子可能包含任何Flex2动画或行为的应用。可能是对某个特定功能或技术的演示,如数据绑定、事件处理等。 5. **GlowExample**: 类似于BlurExample,这里可能展示了如何添加...

    Flex Text layout Framework(TLF) example

    自己整理的Flex Text Layout Framework 来自网上,很全的例子。包括了bookmarks,editor(simpleEditor,SimpleEditorWithCss),pagination(1,2,3),madlibs等,不能上传图片要不然上传上来给大家看一下。可以直接运行开...

    bison-example:一个简单的示例,如何启动和运行flexbison项目

    野牛的例子 像bison这样的解析器生成器对于语法原型非常有用,不幸的是,它需要大量代码才能启动和运行。 这只是一个非常小的示例,显示了构建基于野牛的解析器所需的样板代码。 我喜欢bison的地方是,您可以编译和...

    FLEX嵌入HTML(精简版)

    在“FLEX嵌入HTML(精简版)”的例子中,我们将学习如何利用FLEX的强大功能与HTML的灵活性相结合,以提升用户体验。HTML由于其易读性和丰富的标记能力,常用于构建网页结构和内容,而FLEX则擅长提供动态交互和视觉效果...

    带例子和源码.zip

    标题中的“带例子和源码.zip”表明这个压缩包包含了一些Flex项目的实例和源代码,这对于学习和理解Flex编程非常有帮助。源码是学习任何编程技术的关键,通过阅读和分析实际项目代码,我们可以更好地理解Flex的应用...

    flex 解析xml文件 httpservice

    在这个例子中,我们创建了一个HTTPService实例,设置了URL和method,然后添加了一个结果事件监听器。在`handleResult`函数中,我们把返回的XML字符串转换为XML对象,使用XPath表达式或属性访问语法筛选出需要的节点...

    flex请求webservice

    通过这个简单的Flex请求Web服务的例子,你可以了解基本的交互流程,并为进一步深入学习Flex与Web服务的集成打下基础。在实际项目中,可能需要考虑更多因素,如性能优化、安全性、跨域问题等,不断实践和学习将有助于...

    Flex ArcGIS API for Flex 开发模版

    3. "Example Main Configuration files":这可能是一些示例主配置文件,这些文件用于设置应用的基本配置,如地图服务URL、初始视图位置、图层设置等。开发者可以参考这些例子来理解如何自定义他们的应用。 4. ...

    flex-iframe-1.4.1.zip

    在这个例子中,`FlexIframe`构造函数接收一个配置对象,包含了容器选择器、iframe的URL、宽度和高度等信息。通过这种方式,我们可以轻松地将任何网页嵌入到我们的页面中,并利用Flex-Iframe提供的丰富功能进行增强。...

Global site tag (gtag.js) - Google Analytics