专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Flex

怎么引用Repeater下控件属性

发布时间:2011-06-27 20:42:53 文章来源:www.iduyao.cn 采编人员:星星草
如何引用Repeater下控件属性
代码先贴出来
<mx:Repeater id="pp" dataProvider="{myData.row}">
  <mx:Button height="90" width="89" label="{(pp.currentItem.Name)}"/>
   
  </mx:Repeater>  
其中myData 是通过HTTPService回调函数里返回的Object,
[Bindable]
public var myData:Object;  
public function shopHandler(event:ResultEvent):void
{
myData=event.result.shop;
}
现在想要引用Button中的label的值,怎么引用

------解决方案--------------------
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
verticalAlign="top"
horizontalAlign="center"
backgroundGradientColors="[0x000000,0x323232]"
paddingTop="0"
viewSourceURL="srcview/index.html">

<mx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
import mx.controls.Alert;

[Bindable]
private var ac:ArrayCollection=new ArrayCollection([{name: 1}, {name: 3}, {name: 2}, {name: 4}, {name: 5}]);
]]>
</mx:Script>

<mx:Panel title="Repeater Example"
layout="vertical"
color="0xffffff"
borderAlpha="0.15"
paddingTop="10"
paddingRight="10"
paddingBottom="10"
paddingLeft="10"
horizontalAlign="center">

<mx:Text width="100%"
color="0x323232"
textAlign="center"
text="Use the Repeater class to create multi-Button controls in a Tile container."/>

<mx:Tile direction="horizontal"
borderStyle="inset"
horizontalGap="10"
verticalGap="10"
color="0x323232"
paddingLeft="10"
paddingTop="10"
paddingBottom="10"
paddingRight="10">

<mx:Repeater id="rp"
dataProvider="{ac.source}">
<mx:Button height="24"
width="50"
label="{String(rp.currentItem.name)}"
click="Alert.show(String(event.currentTarget.getRepeaterItem().name) + ' pressed')"/>
</mx:Repeater>
</mx:Tile>

</mx:Panel>
</mx:Application>

------解决方案--------------------
是不是这个意思?你点击按钮的时候,不知道当前按钮应该对应dataProvider中的哪条记录,也就是不知道下标是什么

XML code
<?xml version="1.0" encoding="utf-8"?> 
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" xmlns:local="*">
<mx:Script>
    <![CDATA[
        import mx.controls.Button;
        import mx.controls.Alert;
        private function onClickHandler(event:Event):void
        {
            var myButton:MyButton = event.target as MyButton;
            if (myButton != null) {
                // 从按钮中获得dataProvider所对应的下标,即可以获得dataProvider中按钮对应的相关信息。
                var currentIndex:int = myButton.index;
                Alert.show(pp.dataProvider[currentIndex]);
            }
        }
    ]]>
</mx:Script>
    <mx:Repeater id="pp" dataProvider="{[1,2,3,4,5]}">
        <!-- 通过index="{pp.currentIndex}" 把当前Repeater的下标传入按钮中 -->
        <local:MyButton height="90" width="89" label="{pp.currentItem}" index="{pp.currentIndex}" click="onClickHandler(event)"/>
    </mx:Repeater> 
 
</mx:Application>
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: