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

flex 在viewstack里使用AdvancedDataGrid,出现错误解决办法

发布时间:2020-12-15 04:18:07 所属栏目:百科 来源:网络整理
导读:默认情况下 只创建第一个,需要ViewStack的creationPolicy="all",让ViewStack建立的时候把所有子对象都实例化 ?xml version="1.0" encoding="utf-8"?!--SAX 2013-4-23? 房地产转让-- mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml"????fontSize="
默认情况下 只创建第一个,需要ViewStack的
creationPolicy="all",让ViewStack建立的时候把所有子对象都实例化

<?xml version="1.0" encoding="utf-8"?> <!--SAX 2013-4-23? 房地产转让-->

<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" ????fontSize="12" ????paddingRight="10" ????paddingTop="10" ????paddingLeft="10" ????paddingBottom="10" ????xmlns:vo="VO.*" ????close="PopUpManager.removePopUp(this)" showCloseButton="true" ????xmlns:ns1="Tools.*" ????creationComplete="initApp()" xmlns:ns3="com.steelpotato.footerDataGrid.*" ????xmlns:checkBoxColumn="SeControl.checkBoxColumn.*" xmlns:ns2="com.*" >

?<mx:Script>

??<![CDATA[ ???import com.hitb.component.FangwuSetup; ???import com.hitb.component.move1; ???import com.hitb.component.move1; ???import com.hitb.util.GlobalManager; ???import flash.errors.*; ???import flash.events.*; ???import flash.external.*; ???import flash.net.URLRequest; ???import flash.net.URLVariables; ???import mx.collections.ArrayCollection; ???import mx.controls.Alert; ???import mx.controls.DateField; ???import mx.controls.advancedDataGridClasses.AdvancedDataGridColumn; ???import mx.events.CloseEvent; ???import mx.events.DataGridEvent; ???import mx.events.DataGridEventReason; ???import mx.events.ScrollEvent; ???import mx.events.ValidationResultEvent; ???import mx.managers.PopUpManager; ???import mx.messaging.AbstractConsumer; ???import mx.rpc.events.ResultEvent; ???import mx.utils.StringUtil; ???import mx.validators.ValidationResult; ???import ROMAP.*; ???import Tools.Helper; ???import VO.LouVO; ???[Bindable] ???public var collection:ArrayCollection=new ArrayCollection(); ???[Bindable] ???public var collectionLou:ArrayCollection=new ArrayCollection(); ???[Bindable] ???public var lou:LouVO=new LouVO(); ???public var tw:FangwuSetup = new FangwuSetup(); ???private var panel:move1;

???public function initLou():void{ ????c.removeAllChildren(); ????panel=new move1(); ????panel.percentWidth=100; ????panel.percentHeight=100; ????//测试代码,监听删除事件

????c.addChild(panel);

???} ???//根据楼号模糊查询楼 ???private function QueryLou():void{

????new LouRO(initAppOK).GetLouNameBywhere(ModelLocator.getInstance().userInfo.Nsrsbh,ModelLocator.getInstance().xmdjInfo.XM_ID.toString(),txtLou.text); ???} ???private function UpdateXML():void ???{ ????lou=this.list.selectedItem as LouVO;

????new LouRO(UpdateXMLOK).GetLouByLouName1(ModelLocator.getInstance().userInfo.Nsrsbh,lou.louName); ????new DJfwzrRO(getFwOK).GetAll(ModelLocator.getInstance().userInfo.Nsrsbh,''); ???} ???private?function UpdateXMLOK(event:ResultEvent):void ???{

????ModelLocator.getInstance().salexml=event.result as String;

????ModelLocator.getInstance().isSale='1'

????initLou(); ???}

???/** ??? * 作者:IT小金 ??? * 时间:2011-09-07 ??? * 功能:FLex DataGird生成HTML 导出Excel ??? */

???/*将DataGird导出成HTML格式*/ ???private function convertDGToHTMLTable(dg:AdvancedDataGrid):String { ????//设置默认参数 ????var font:String = dg.getStyle('fontFamily'); ????var size:String = dg.getStyle('fontSize'); ????var str:String = ''; ????var colors:String = ''; ????var style:String = 'style="font-family:'+font+';font-size:'+size+'pt;"';??????????????? ????var hcolor:Array;

????//设置标题行颜色 ????if(dg.getStyle("headerColor") != undefined) { ?????hcolor = [dg.getStyle("headerColor")]; ????} else { ?????hcolor = dg.getStyle("headerColors"); ????}??????????????

????//根据datagrid设置基础结构 ????str+= '<table width="'+dg.width+'" border="1"><thead><tr width="'+dg.width+'" style="background-color:#' +Number((hcolor[0])).toString(16)+'">';

????//设置列头????????? ????for(var i:int = 0;i<dg.columns.length;i++) { ?????colors = dg.getStyle("themeColor");

?????if(dg.columns[i].headerText != undefined) { ??????str+="<th "+style+">"+dg.columns[i].headerText+"</th>"; ?????} else { ??????str+= "<th "+style+">"+dg.columns[i].dataField+"</th>"; ?????} ????} ????str += "</tr></thead><tbody>"; ????colors = dg.getStyle("alternatingRowColors");

????//设置单元格数据,数据遍历DataGird ????for(var j:int =0;j<dg.dataProvider.length;j++) {???????????????? ?????str+="<tr width=""+Math.ceil(dg.width)+"">";

?????for(var k:int=0; k < dg.columns.length; k++) {

??????if(dg.dataProvider.getItemAt(j) != undefined && dg.dataProvider.getItemAt(j) != null) { ???????if(dg.columns[k].labelFunction != undefined) { ????????str += "<td width=""+Math.ceil(dg.columns[k].width)+"" "+style+">"+dg.columns[k].labelFunction(dg.dataProvider.getItemAt(j),dg.columns[k].dataField)+"</td>";

???????} else { ????????str += "<td width=""+Math.ceil(dg.columns[k].width)+"" "+style+">"+dg.dataProvider.getItemAt(j)[dg.columns[k].dataField]+"</td>"; ???????} ??????} ?????} ?????str += "</tr>"; ????} ????str+="</tbody></table>";

????return str; ???} //合计函数 ???private function flatSummaryObject():Object ???{ ????return {Xsmj:"合计:",summary:true }; ???} ???private?function getFwOK(event:ResultEvent):void ???{

????collection=event.result as ArrayCollection;???

????gc.refresh(); ???} ???private?function getFwOK1(event:ResultEvent):void ???{

????collection=event.result as ArrayCollection; ???? ????gc.refresh(); ????this.vs.selectedIndex=1;

???} ???//初始化函数,查询全部的楼 ???private function initApp():void{ ????new LouRO(initAppOK).GetLouNameBywhere(ModelLocator.getInstance().userInfo.Nsrsbh,''); ????new DJfwzrRO(getFwOK).GetAll(ModelLocator.getInstance().userInfo.Nsrsbh,'');

???}

???//回调函数,赋值 ???private?function initAppOK(event:ResultEvent):void ???{ ????collectionLou=event.result as ArrayCollection; ???} ???/*接Asp。net中 ashx一般处理程序,输出html成Excel文件 ??? */ ???private function loadDGInExcel(dg:AdvancedDataGrid,url:String):void {

????var variables:URLVariables = new URLVariables(); ????variables.htmltable = convertDGToHTMLTable(dg);

????var u:URLRequest = new URLRequest(url); ????u.data = variables; ????u.method = URLRequestMethod.POST; ????navigateToURL(u,"_self"); ???} ???//设置样式 ???private function myStyle(data:Object,column:AdvancedDataGridColumn):Object ???{ ????var output:Object; ????if(data.Xsmj==null){ ?????output={color:"#095464",fontWeight:"bold"}; ????} ????return output; ???} ???//查看销售记录按钮 ???private function onCheckClick():void{

????new DJfwzrRO(getFwOK1).GetAll(ModelLocator.getInstance().userInfo.Nsrsbh,'');

???} ???//导出销售记录 ???private function onDaochuClick():void{

????var url:String='../JinExcelExport.ashx'; ????//var url:String='http://localhost:2208/WebSite/JinExcelExport.ashx'; ????loadDGInExcel(this.dg,url); ???} ???//销售记录列表中的返回按钮 ???private function onReturnClick():void{ ????this.vs.selectedIndex=0; ???} ???

??]]>

?</mx:Script>

?<mx:HBox width="100%" height="100%"> ??<mx:Canvas width="10%" height="100%" borderStyle="solid"> ???<mx:Label x="2" y="6" text="楼号:" /> ???<mx:TextInput x="37" y="5" width="74" id="txtLou"? change="QueryLou()"/>

???<mx:List id="list" x="0" y="34"? width="98%" dataProvider="{collectionLou}"? textAlign="center" itemClick="UpdateXML()" rowHeight="100" labelField="louName" borderStyle="none" height="100%" > ????<mx:itemRenderer> ?????<mx:Component> ??????<mx:VBox?? verticalAlign="middle" horizontalAlign="center">????????????? ???????<mx:Image? right="10" source="assets/hotel.png"? height="64" width="64"/> ???????<mx:Label right="10"? text="{data.louName}" />???? ??????</mx:VBox> ?????</mx:Component> ????</mx:itemRenderer> ???</mx:List> ??</mx:Canvas> ??<mx:ViewStack? width="90%" height="100%" id="vs" creationPolicy="all"> ???<mx:VBox borderStyle="solid" height="100%" width="100%"> ????<mx:Button? label="查看销售记录" left="0" click="onCheckClick()"/> ????<mx:Panel?? width="100%" height="95%"? layout="horizontal"??? title="{'当前选中的是:'+lou.louName==null?'':lou.louName}" ??????? paddingLeft="15" ??????? headerHeight="20"?? ??????? headerColors="{['#fff000','#fff000']}" ??????? borderStyle="solid"? borderColor="#9cc0e1" ??????? backgroundColor="#e8eaea" ??????? dropShadowEnabled="false"????? borderThickness="0" id="c" verticalAlign="middle" horizontalAlign="center" /> ????<mx:Canvas width="100%" height="5%"> ?????<mx:Label x="5" y="0" text="颜色标识:"/> ?????<mx:TextInput x="65" y="0" color="#eee969"? enabled="true" width="30" borderStyle="none" backgroundColor="#EEE969" editable="false" borderColor="#EEE969" themeColor="#EEE969"/> ?????<mx:Label x="93" y="0" text="未售"/> ?????<mx:TextInput x="130" y="0" color="#ED0F33" enabled="true" editable="false" width="32" borderStyle="none" backgroundColor="#ED0F33" borderColor="#ED0F33" themeColor="#ED0F33"/> ?????<mx:Label x="161" y="0" text="已售"/> ?????<mx:Label x="205" y="0" text="双击进行楼房销售"/>

????</mx:Canvas>

???</mx:VBox> ???<mx:VBox borderStyle="solid" height="100%" width="100%"> ????<mx:Canvas width="100%"? height="5%"> ?????<mx:Button x="90" y="0" label="返回" click="onReturnClick()"/> ?????<mx:Button x="164" y="0" label="导出" click="onDaochuClick()"/>

????</mx:Canvas> ????<mx:AdvancedDataGrid? width="100%" defaultLeafIcon="{null}" displayItemsExpanded="true" styleFunction="myStyle" height="95%"? borderColor="#0A9AFF" id="dg" borderStyle="solid"? > ?????<mx:dataProvider> ??????<mx:GroupingCollection id="gc" source="{collection}"> ???????<mx:Grouping > ????????<mx:GroupingField name="Xshth"? > ?????????<mx:SummaryRow summaryPlacement="group"> ??????????<mx:SummaryField operation="SUM" dataField="Htje" label="小计"/> ?????????</mx:SummaryRow> ????????</mx:GroupingField>?? ???????</mx:Grouping> ???????<!--最后一行加上总计--> ???????<mx:summaries> ????????<mx:SummaryRow summaryPlacement="last" summaryObjectFunction="flatSummaryObject"> ?????????<mx:SummaryField? operation="SUM"? dataField="Htje" label="小计" />? ????????</mx:SummaryRow>????????? ???????</mx:summaries>? ??????</mx:GroupingCollection> ?????</mx:dataProvider> ?????<mx:columns> ??????<mx:AdvancedDataGridColumn headerText='楼号' dataField='Lh' /> ??????<mx:AdvancedDataGridColumn headerText='单元' dataField='Dy' /> ??????<mx:AdvancedDataGridColumn headerText='房号' dataField='Fh' /> ??????<mx:AdvancedDataGridColumn headerText='面积M2' dataField='Xsmj' id="XsmjColumn" /> ??????<mx:AdvancedDataGridColumn headerText='价款' dataField='Htje' id="HtjeColumn"/> ??????<mx:AdvancedDataGridColumn headerText='合同编号' dataField='Xshth'/> ??????<mx:AdvancedDataGridColumn headerText='发票号' dataField='Fph'/> ??????<mx:AdvancedDataGridColumn? dataField='小计'/> ?????</mx:columns> ????</mx:AdvancedDataGrid> ???</mx:VBox> ??</mx:ViewStack>

?</mx:HBox> </mx:TitleWindow>

(编辑:李大同)

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

    推荐文章
      热点阅读