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条)

报告相同问题?

悬赏问题

  • ¥20 安装 opencv4nodejs 报错
  • ¥15 adb push异常 adb: error: 1409-byte write failed: Invalid argument
  • ¥15 nginx反向代理获取ip,java获取真实ip
  • ¥15 eda:门禁系统设计
  • ¥50 如何使用js去调用vscode-js-debugger的方法去调试网页
  • ¥15 376.1电表主站通信协议下发指令全被否认问题
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥15 复杂网络,变滞后传递熵,FDA
  • ¥20 csv格式数据集预处理及模型选择
  • ¥15 部分网页页面无法显示!