I19850412 2009-03-26 22:00
浏览 182
已采纳

flex里combox数据绑定

我在后台用java生成了一个list,在前台要怎么处理显示出来呢?
[b]问题补充:[/b]
我使用的是remoteObject进行数据交互后台代码是这样的
[code="java"]List list=new ArrayList();
HashMap map=new HashMap();
map.put("sexname","男");
map.put("sexdata", "1");
list.add(map);
HashMap map1=new HashMap();
map.put("sexname","女");
map.put("sexdata", "0");
list.add(map1);[/code]
在前台我用
[code="java"] public var initCB:ArrayCollection;
internal function doclose ():void
{
PopUpManager.removePopUp(this);
}
private function init():void{
firstRO.getSex();
firstRO.addEventListener(ResultEvent.RESULT,addsex);

}
private function addsex(e:ResultEvent) :void {
initCB=new ArrayCollection(e.result.toString());

}[/code]
[code="java"]

 </mx:ComboBox>[/code]

这样做值出不来,不知道是哪的问题.
[b]问题补充:[/b]
现在可以了,不过发现一个问题,在我表单提交完以后,或者是做双联动时,发现combobox里绑定的数据没有了,要重新加载才会有,这是什么原因?比如双联动下面的代码
[code="java"]public List getSex(){
List list=new ArrayList();

    HashMap map=new HashMap();
    map.put("sexname","男");
    map.put("sexdata", "1");
    list.add(map);
    HashMap map1=new HashMap();
    map1.put("sexname","女");
    map1.put("sexdata", "0");
    list.add(map1);
    return list;
}
public List getCSex(int number){
    List list=new ArrayList();
    if(number==1){
        HashMap map=new HashMap();
        map.put("sexname","男");
        map.put("sexdata", "1");
        System.out.print("1111111111111111111111");
        list.add(map);
    }
    return list;
}[/code]

[code="java"] private function init():void{
firstRO.getSex();
firstRO.addEventListener(ResultEvent.RESULT,addsex);

}

private function chooseHandler():void{
var item:Object=_sex.selectedItem;
//Alert.show(item.sexdata);
firstRO.getCSex(item.sexdata);
firstRO.addEventListener(ResultEvent.RESULT,addcsex);

}
private function addcsex(event:ResultEvent):void{
//Alert.show("1111111111111111");

initCCB=event.result as ArrayCollection;
}
private function addsex(event:ResultEvent) :void {
initCB=event.result as ArrayCollection;
_sex.selectedIndex=initCB.length-1;
}[/code]
[code="java"]

 </mx:ComboBox>

 </mx:ComboBox>[/code]

[b]问题补充:[/b]
请留一下QQ方便一下交流!!谢谢

  • 写回答

3条回答 默认 最新

  • zenggang2008 2009-03-27 07:55
    关注

    建议使用remoteObject进行前后台的交互
    httpservice也OK的
    至于显示的话,看你前台用什么格式的集合进行绑定,一般建议用Arraycollection
    [code="xml"]
    <![CDATA[
    import mx.collections.*;
    [Bindable] public var _dataList:Arraycollection;

    ]]>



    [/code]
    如果是XMLListCollection也行,注意的是在labelFiled的字段前加上@
    如labelFiled="@userName"

    如果不知道怎么用httpservice或RemoteObject和后台交互,建议Google

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 使用C#,asp.net读取Excel文件并保存到Oracle数据库
  • ¥15 C# datagridview 单元格显示进度及值
  • ¥15 thinkphp6配合social login单点登录问题
  • ¥15 HFSS 中的 H 场图与 MATLAB 中绘制的 B1 场 部分对应不上
  • ¥15 如何在scanpy上做差异基因和通路富集?
  • ¥20 关于#硬件工程#的问题,请各位专家解答!
  • ¥15 关于#matlab#的问题:期望的系统闭环传递函数为G(s)=wn^2/s^2+2¢wn+wn^2阻尼系数¢=0.707,使系统具有较小的超调量
  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 虚心请教几个问题,小生先有礼了
  • ¥30 截图中的mathematics程序转换成matlab