加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

flex读取xml及grid绑定显示

发布时间:2020-12-15 04:24:49 所属栏目:百科 来源:网络整理
导读:?? ??? ???? private var b_addlistener:Boolean; ?? ??? ??? ?protected function button11_clickHandler(event:MouseEvent):void ?? ??? ??? ?{ ?? ??? ??? ??? ?if(!b_addlistener) //防止多次添加侦听器。 ?? ??? ??? ??? ?{ ?? ??? ??? ??? ??? ?b_addl
?? ??? ???? 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:HTTPService>


?? ??? ??? ??? ??? ???? <s:DataGrid id="grid1" x="72" y="301">
?? ??? ??? ??? ?
?? ??? ??? ??? ??? ??? ?</s:DataGrid>???


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>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读