如何在Adobe Flex3中的Httpservice中发送数组
我刚开始弯曲,如果这是一个愚蠢的问题,请原谅我.
现在我正在使用自定义事件将数据从一个组件传递到另一个组件.我的问题是事件只会冒泡.如何将数据传递给不是调度事件的组件的父组件?
这是基本布局.我正在尝试将组件1中的数据传递给组件3.
Application MXML
Component 1
Component 2
Component 3
Run Code Online (Sandbox Code Playgroud) 我正在Flex 3中构建我的第一个Flex自定义组件.它是一个基于'Grid'容器类的数据表,每个单元格中都有一个简单的文本标签.(DataGrid和AdvancedDataGrid并不适合我的需求.)该组件使用较小的表可以很好地工作,但我尝试使用更大的表对其进行压力测试,并对结果感到失望.
组件创建过程有一些慢点,但这些是我的优化能力,并不是我主要关心的问题.让我更担心的是Flex框架本身的限制.
这个"大"样本表中有超过7000个单元格.这比较大,但仍比我需要容纳的最大量级低1-2个数量级.在标准网格结构中,组件的主要部分包含一个网格,每个网格包含400个GridRows,每个网格项目包含16个GridItem,以及一些其他较小的辅助网格.
表格呈现后,我发现以下内容:
感觉就像Flex无法扩展以支持这么大的组件树.我不禁想象它会如何表现100,000细胞.也许我正在推动网格超出其预期用途,但是每个表格单元格中的对象看起来并不是一个不合理的模型,树中的~14,000个对象(GridItem和每个单元格的标签)似乎相当适中.
我还没有从FlexBuilder探查器中获取有用的数据; 我在做这个工作.目前,我最大的问题是:
我在WinXP上的Firefox下在Flash Player 9上运行它.
我需要灵活应用程序的时间选择器,据我所知,没有UI组件以Date比每天(DateChooser组件)更精细的分辨率操作对象.
什么是Flex的好时候选择?我非常喜欢Free in Libre和/或Free in Beer组件.
我计划开发一个独立的应用程序,实际上将用于个人目的.因此,只有单个用户访问权限.我想在Flex中开发它.只想在这里得到大师们的一些意见:
在此先感谢您的帮助.
快乐的编码
问候,PK
下面的代码运行良好......
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx" >
<fx:Declarations>
<mx:HTTPService id="httpRSS" url="http://www.petefreitag.com/rss/" resultFormat="object" />
</fx:Declarations>
<s:Panel id="reader" title="Blog Reader" width="500">
<mx:DataGrid width="485" id="entries" dataProvider="{httpRSS.lastResult.rss.channel.item}" click="{body.htmlText=httpRSS.lastResult.rss.channel.item[entries.selectedIndex].description}">
<mx:columns>
<mx:DataGridColumn dataField="title" headerText="TITLE"/>
<mx:DataGridColumn dataField="pubDate" headerText="Date"/>
</mx:columns>
</mx:DataGrid>
<mx:TextArea id="body" editable="false" width="485" x="3" y="142" height="155"/>
</s:Panel>
<s:Button label="Load" x="10" y="329" click="{httpRSS.send()}"/>
</s:Application>
Run Code Online (Sandbox Code Playgroud)
但是当Textarea改为像下面那样激发Textrea时
<s:TextArea id="body" editable="false" width="485" x="3" y="142" height="155"/>
Run Code Online (Sandbox Code Playgroud)
然后htmlText不支持Spark Textarea.因此产生错误.如何使用spark Text Area Property显示HTML格式的文本.
我在flex中使用Datagrid控件.
我需要获取该Datagrid中项目数的计数.得到这个的方法是什么?
任何人都可以告诉我Flex SDK和Flash Builder之间的区别吗?
喜欢 - "使用Adobe Flex SDK进行移动开发"Hero"和Flash Builder"Burrito"
两者都一样吗?请详细说明.我们知道Flex是一个IDE或SDK(软件开发工具包),我们使用这些组件和类库来构建,编译和部署项目.
以前很明显Adobe Flex Builder 3已经重命名为Adobe Flash Builder 4.
我真的很困惑.谁能帮我吗.
提前致谢.
假设我有一个类,在除了public,protected或internal之外的命名空间中定义了一个方法...
package com.foo.bar
{
import com.foo.my_name_space
public class bar
{
private var _vabc:String
private var _v123:String
protected function set123(val:String):void{
_v123 = val;
}
my_name_space function setABC(val:String):void{
_vabc = val;
}
}
}
Run Code Online (Sandbox Code Playgroud)
现在我想在子类中扩展和覆盖它...
package com.foo
{
import com.foo.bar.bar
import com.foo.my_name_space
public class foo extends bar
{
override protected function set123(val:String):void{
super.set123(val);
}
.... ????? ...
}
}
Run Code Online (Sandbox Code Playgroud)
很容易覆盖受保护的,公共等方法,但有没有办法覆盖名称空间*my_name_space*中定义的setABC方法?
我尝试了以下语法,它似乎通过FlashBuilder预编译器检查但不起作用.
use namespace my_name_space override function my_name_space::setABC(val:String):void
Run Code Online (Sandbox Code Playgroud)
我已经尝试了许多其他语法组合,但大多数甚至都不会通过预编译检查.(很多都有某种类型的命名空间错误)我有一种感觉这是不可能的,但想知道是否有人可能有任何想法?
在flex中,如何检查变量是否存在?我试过用
if (this['some_variable'] != undefined) {
//do something
}
Run Code Online (Sandbox Code Playgroud)
有一个运行时错误,说该属性some_variable不存在.我已经检查过,null而不是undefined,仍然是相同的错误.
请帮忙.
[编辑]
基于我使用过的回复this.hasOwnProperty('variable_name').我发现它返回trueif variable_name是一个public但是false如果它private/protected.如何检查私有变量?
flex3 ×10
apache-flex ×8
flex4 ×3
flash ×2
flexbuilder ×2
actionscript ×1
air ×1
components ×1
database ×1
datagrid ×1
http ×1
service ×1