flex读取xml及grid绑定显示
?? ??? ???? private var b_addlistener:Boolean;
?? ??? ??? ?protected function button11_clickHandler(event:MouseEvent):void ?? ??? ??? ?{ ?? ??? ??? ??? ?if(!b_addlistener) //防止多次添加侦听器。 ?? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ?b_addlistener=!b_addlistener; ?? ??? ??? ??? ??? ?//trace("111"); ?? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?httpsvc1.url="http://localhost:8080/geoserver/test.xml"; ?? ??? ??? ??? ???? httpsvc1.method="POST"; ?? ??? ??? ??? ??? ?httpsvc1.addEventListener(ResultEvent.RESULT,function success(event:ResultEvent):void ?? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ??? ?var head:ArrayCollection=new ArrayCollection(); ?? ??? ??? ??? ??? ??? ?//1.表头控制 ?? ??? ??? ??? ??? ??? ?//读取记录集字段名 ?? ??? ??? ??? ??? ??? ?var rs_head:ArrayCollection=new ArrayCollection(); ?? ??? ??? ??? ??? ??? ?if(event.result.rs.head.row is ObjectProxy) ? ?? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ?rs_head.removeAll(); ? ?? ??? ??? ??? ??? ??? ??? ?rs_head.addItem(event.result.rs.head.row); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?else ? ?? ??? ??? ??? ??? ??? ??? ?rs_head=event.result.rs.head.row; ??????????????????????? //动态生成grid表头列 ?? ??? ??? ??? ??? ??? ?var j:int; ?? ??? ??? ??? ??? ??? ?Alert.show(rs_head[0].col.length.toString()); ?? ??? ??? ??? ??? ??? ?if(rs_head.length<=0) ?? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ?Alert.show("没有数据"); ?? ??? ??? ??? ??? ??? ??? ?return; ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?else ?? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ?for(j=0;j<rs_head[0].col.length;j++) ?? ??? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ??? ?var gridcol:GridColumn=new GridColumn(); ?? ??? ??? ??? ??? ??? ??? ??? ?gridcol.headerText=rs_head[0].col[j].toString(); ?? ??? ??? ??? ??? ??? ??? ??? ?gridcol.dataField=rs_head[0].col[j].toString(); ?? ??? ??? ??? ??? ??? ??? ??? ?gridcol.width=100; ?? ??? ??? ??? ??? ??? ??? ??? ?head.addItem(gridcol); ?? ??? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?grid1.columns=head; ?? ??? ??? ??? ??? ??? ?//2.数据绑定 ?? ??? ??? ??? ??? ??? ?//读取记录集数据 ?? ??? ??? ??? ??? ??? ?//!!!如果event.result.rs.data.row只有1个row对象(xml中只有一组row),得到的是proxy类型 ?? ??? ??? ??? ??? ??? ?//...如果有多个row对象(xml中有多组row),得到的是arraycollection ?? ??? ??? ??? ??? ??? ?//!!!另外_rs的每一行的某列并不是_rs[i][j]来访问,而是_rs[i].col[j]来访问。 col是xml中row的子标签。 ?? ??? ??? ??? ??? ??? ?//...这个可以用调试模式,断点下查看_rs变量结构看到。 ?? ??? ??? ??? ??? ??? ?var _rs:ArrayCollection=new ArrayCollection(); ?? ??? ??? ??? ??? ??? ?if(event.result.rs.data.row is ObjectProxy) ? ?? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ?_rs.removeAll(); ? ?? ??? ??? ??? ??? ??? ??? ?_rs.addItem(event.result.rs.data.row); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?else ? ?? ??? ??? ??? ??? ??? ??? ?_rs=event.result.rs.data.row; ?? ??? ??? ??? ??? ??? ?//形成标准dataprovider格式,显示到grid中。 ?? ??? ??? ??? ??? ??? ?var dp:ArrayCollection=new ArrayCollection(); ?? ??? ??? ??? ??? ??? ?var i:int; ?? ??? ??? ??? ??? ??? ?for(i=0;i<_rs.length;i++) ?? ??? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ??? ?//Alert.show(_rs[i].col[0].toString()); ?? ??? ??? ??? ??? ??? ??? ?var dp_item:Object=new Object(); ?? ??? ??? ??? ??? ??? ??? ?dp_item.username=_rs[i].col[0].toString(); ?? ??? ??? ??? ??? ??? ??? ?dp_item.pwd=_rs[i].col[1].toString(); ?? ??? ??? ??? ??? ??? ??? ?dp_item.time=_rs[i].col[2].toString(); ?? ??? ??? ??? ??? ??? ??? ?dp.addItem(dp_item); ?? ??? ??? ??? ??? ??? ?} ?? ??? ??? ??? ??? ??? ?//row.username=""; ?? ??? ??? ??? ??? ??? ?grid1.dataProvider=dp; ?? ??? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?}); ?? ??? ??? ??? ??? ??? ? ?? ??? ??? ??? ??? ?httpsvc1.addEventListener(FaultEvent.FAULT,function fail(event:FaultEvent):void ?? ??? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ??? ?Alert.show(event.fault.toString()); ?? ??? ??? ??? ??? ?}); ?? ??? ??? ??? ?} ?? ??? ??? ??? ?httpsvc1.send(); ?? ??? ??? ?} ?? ???? <s:HTTPService id="httpsvc1" url="http://localhost:8080/geoserver/test.xml" method="POST" > ?? ??? ??? ??? ??? ???? <s:DataGrid id="grid1" x="72" y="301"> test.xml <rs> ? <head> ??? <row> ????? <col>username</col> ????? <col>pwd</col> ????? <col>time</col> ??? </row> ? </head> ? <data> ??? <row> ????? <col>aa1</col> ????? <col>bb1</col> ????? <col>cc1</col> ??? </row> ??? <row> ????? <col>aa2</col> ????? <col>bb2</col> ????? <col>cc2</col> ??? </row> ??? <row> ????? <col>aa3</col> ????? <col>bb3</col> ????? <col>cc3</col> ??? </row> ? </data> </rs> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |