您的位置:首页 > 其它

Flex DataGrid Scrollbar滚动条x,y起始位置设置

2010-03-01 16:19 393 查看
对flex datagrid scrollbar位置设置需要一些特殊处理,见如下截图:


关键点在于DataGrid拥有protected的 horizontalScrollBar 和 verticalScrollBar 属性,对其设置即可实现如上截图的效果。代码如下:
package com.util.component
{
import mx.controls.DataGrid;
import mx.events.DataGridEvent;
import mx.core.ScrollPolicy;
import mx.events.FlexEvent;

public class AFWDataGrid extends DataGrid
{
public function AFWDataGrid()
{
super();
horizontalScrollPolicy = ScrollPolicy.AUTO;
}

private function setScrollPos():void
{
if(columns == null || columns.length < lockedColumnCount)
return;
var xOffset:Number = 0;
for(var i:int=0; i<lockedColumnCount; ++i)
xOffset += columns[i].width;
if (horizontalScrollBar && horizontalScrollBar.x < xOffset){
horizontalScrollBar.x = xOffset;
horizontalScrollBar.setActualSize(horizontalScrollBar.width - xOffset,
horizontalScrollBar.height);
}
if(verticalScrollBar && verticalScrollBar.y < headerHeight){
verticalScrollBar.y = headerHeight;
verticalScrollBar.setActualSize(verticalScrollBar.width,
verticalScrollBar.height - headerHeight);
}
}

override protected function updateDisplayList(w:Number, h:Number):void
{
super.updateDisplayList(w, h);
setScrollPos();
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: