按百分比设置Flex DataGrid的列宽

本文介绍了一种在Flex3中调整DataGrid列宽的方法,通过计算各列宽度的百分比来实现列宽的动态调整,确保列宽总和等于容器宽度。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在网上查找了一些资料,有个方法是直接在DataGridColumn上设置width为小数,加起来必须等1,可是不起作用,不知道是什么原因,我用的是flex3

后来又找了一个方法,可以了,mark一下

//设置dataGrid表格的列宽
private function setColumnWidth():void{
	var widthList:Array = [0.25,0.25,0.25,0.25];
	dataGrid.validateNow();
	var value:Number,display:DataGridColumn,i:int;
	var list:Array = dataGrid.columns;
	var length:int = list.length;
	var dataWidth:int = 0;
	//计算总列宽
	for(i = 0; i < length; i ++){
		display = list[i];
		dataWidth += display.width;
	}
	//大于1,视为像素,按像素设置列宽,并从总列宽中减去;
	for(i = 0; i < length; i ++){
		display = list[i];
		value = widthList[i];
		if(value > 1){
			dataWidth -= value;
			display.width = int(value);
		}
	}
	//小于1,视为百分比,按百分比设置列宽
	for(i = 0; i < length; i ++){
		display = list[i];
		value = widthList[i];
		if(value <= 1) display.width = int(dataWidth * value);
	}
}


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值