Content

Flex中怎么给表格中的滚动条定位避免刷新回到原处(flex实现固定间距)燃爆了

文章摘要

This document describes a Flex-based application with a data table displaying monthly values from 2013 to 2014. The application includes a refresh button that logs the current mouse position (hx and hy) when clicked. The table columns are fixed-width, and the data appears to be repetitive, suggesting potential data entry issues. The layout features a horizontal scrollable DataGrid component with labels for each month and corresponding values. The application uses mx:DataGrid for data display and includes event handling for the refresh button.

 <?xml version=”1.0″ encoding=”utf-8″?> <s:Application xmlns:fx=”http://ns.adobe.com/mxml/2009″ xmlns:s=”library://ns.adobe.com/flex/spark” xmlns:mx=”library://ns.adobe.com/flex/mx” creationComplete=”initHandler(event)” width=”100%” height=”100%”> <s:layout> <s:BasicLayout/> </s:layout> <fx:Script> <![CDATA[ import mx.collections.ArrayCollection; import mx.controls.Alert; import mx.events.FlexEvent; [Bindable] //表格数据绑定 private var gridArray:ArrayCollection=new ArrayCollection([ {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″}, {Jan:”5678″,Feb:”7890″,Mar:”3454″,Apr:”4565″,May:”6756″,Jun:”5656″,Jul:”7867″,Aug:”8990″,Sep:”5676″,Oct:”4655″,Nov:”6778″,Dec:”8909″, Jan1:”3344″,Feb1:”5676″,Mar1:”7898″,Apr1:”9089″,May1:”9009″,Jun1:”5675″,Jul1:”3433″,Aug1:”4455″,Sep1:”6676″,Oct1:”7867″,Nov1:”4556″,Dec1:”8656″} ]); protected function initHandler(event:FlexEvent):void { } protected function refresh_clickHandler(event:MouseEvent):void { var hx:Object=hsb.left; var hy:Number=hsb.y; //var dx:Number=dataGrid.contentMouseX; //var dy:Number=dataGrid.contentMouseY; //Alert.show(“hx:”+hx+”\n”+”hy: “+hy + “\n” + “dx: ” + dx + “\n” + “dy: ” + dy); Alert.show(“hx:”+hx+”\n”+”hy: “+hy); } ]]> </fx:Script> <fx:Declarations> <!– 将非可视元素(例如服务、值对象)放在此处 –> </fx:Declarations> <mx:VBox width=”100%” height=”100%” paddingBottom=”10″ paddingLeft=”10″ paddingRight=”20″ paddingTop=”10″ horizontalAlign=”center”> <mx:HBox width=”100%” height=”30″> <s:Label width=”100%”/> <s:Button id=”refresh” label=”刷新” click=”refresh_clickHandler(event)”/> </mx:HBox> <mx:DataGrid width=”1350″ height=”90%” id=”dataGrid” dataProvider=”{gridArray}” horizontalScrollPolicy=”on” textAlign=”center”> <mx:columns> <mx:DataGridColumn headerText=”2013年01月” dataField=”Jan” width=”200″/> <mx:DataGridColumn headerText=”2013年02月” dataField=”Feb” width=”200″/> <mx:DataGridColumn headerText=”2013年03月” dataField=”Mar” width=”200″/> <mx:DataGridColumn headerText=”2013年04月” dataField=”Apr” width=”200″/> <mx:DataGridColumn headerText=”2013年05月” dataField=”May” width=”200″/> <mx:DataGridColumn headerText=”2013年06月” dataField=”Jun” width=”200″/> <mx:DataGridColumn headerText=”2013年07月” dataField=”Jul” width=”200″/> <mx:DataGridColumn headerText=”2013年08月” dataField=”Aug” width=”200″/> <mx:DataGridColumn headerText=”2013年09月” dataField=”Sep” width=”200″/> <mx:DataGridColumn headerText=”2013年10月” dataField=”Oct” width=”200″/> <mx:DataGridColumn headerText=”2013年11月” dataField=”Nov” width=”200″/> <mx:DataGridColumn headerText=”2013年12月” dataField=”Dec” width=”200″/> <mx:DataGridColumn headerText=”2014年01月” dataField=”Jan1″ width=”200″/> <mx:DataGridColumn headerText=”2014年02月” dataField=”Feb1″ width=”200″/> <mx:DataGridColumn headerText=”2014年03月” dataField=”Mar1″ width=”200″/> <mx:DataGridColumn headerText=”2014年04月” dataField=”Apr1″ width=”200″/> <mx:DataGridColumn headerText=”2014年05月” dataField=”May1″ width=”200″/> <mx:DataGridColumn headerText=”2014年06月” dataField=”Jun1″ width=”200″/> <mx:DataGridColumn headerText=”2014年07月” dataField=”Jul1″ width=”200″/> <mx:DataGridColumn headerText=”2014年08月” dataField=”Aug1″ width=”200″/> <mx:DataGridColumn headerText=”2014年09月” dataField=”Sep1″ width=”200″/> <mx:DataGridColumn headerText=”2014年10月” dataField=”Oct1″ width=”200″/> <mx:DataGridColumn headerText=”2014年11月” dataField=”Nov1″ width=”200″/> <mx:DataGridColumn headerText=”2014年12月” dataField=”Dec1″ width=”200″/> </mx:columns> </mx:DataGrid> <!– <s:HScrollBar id=”hsb” width=”100%” viewport=”{dataGrid}”/> –> <s:HScrollBar id=”hsb” width=”100%”/> </mx:VBox> </s:Application>