flex中怎么控制mx:List的高度
flex中如何控制mx:List的高度
做一个打印小票的功能,其中有的选择项是用户勾选了才打印,因此是动态的。采用mx:List加载这些选择项,遇到了一个问题,mx:List默认有一个高度,height不能设置成一个定值 ,因为不能确定有几项,当时想到使用 dataList.length*20,也就是每行高度为20,但是使用dataList.length这样的非常量值时,打印的小票内容竟然为空,没有仔细找原因,直接pass了这个方案。然后设置minHeight还是无效。
后来找到资料,使用 rowCount="{objData.customPrintArr.length}"才解决问题。
<mx:HBox width="150" horizontalScrollPolicy="off" verticalScrollPolicy="off"> <mx:VBox width="40%" height="100%" verticalGap="0"> <mx:Text text="顾客姓名:" fontSize="9"/> <mx:Text text="预订时段:" fontSize="9"/> <mx:Text text="预订目标:" fontSize="9"/> <mx:Text text="就餐时间:" fontSize="9"/> <mx:Text text="人数:" fontSize="9"/> <mx:Text text="押金:" fontSize="9"/> <mx:List dataProvider="{objData.customPrintArr}" borderStyle="none" paddingLeft="0" rowCount="{objData.customPrintArr.length}" verticalScrollPolicy="off" horizontalScrollPolicy="off"> <mx:itemRenderer> <mx:Component> <mx:Text text="{data.name}:" fontSize="9" paddingTop="-3" paddingBottom="-3" height="15"/> </mx:Component> </mx:itemRenderer> </mx:List> </mx:VBox> <mx:VBox width="60%" height="100%" horizontalAlign="right" verticalGap="0"> <mx:Text text="{objData.customer}{objData.sex}" fontSize="9"/> <mx:Text text="{objData.period}" fontSize="9"/> <mx:Text text="{tableName}" fontSize="9"/> <mx:Text text="{objData.arrivedTime}" fontSize="9"/> <mx:Text text="{objData.personNum}" fontSize="9"/> <mx:Text text="{objData.deposit}" fontSize="9"/> <mx:List dataProvider="{objData.customPrintArr}" borderStyle="none" paddingLeft="0" rowCount="{objData.customPrintArr.length}" verticalScrollPolicy="off" horizontalScrollPolicy="off"> <mx:itemRenderer> <mx:Component> <mx:Text text="{data.printdata}" fontSize="9" paddingTop="-3" paddingBottom="-3" height="15"/> </mx:Component> </mx:itemRenderer> </mx:List> </mx:VBox> </mx:HBox>