1) text truncation is disabled when variableRowHeight="true"
2) wrong width detection for multi-line headers
Solution:
Implement custom headerRenderer
package your.package.name
{
import flash.text.TextLineMetrics;
import mx.controls.advancedDataGridClasses.AdvancedDataGridHeaderRenderer;
public class TruncationHeaderRenderer extends AdvancedDataGridHeaderRenderer
{
public function TruncationHeaderRenderer()
{
super();
}
override public function measureText(text:String):TextLineMetrics
{
var arr:Array = text.split("\r");
var maxWidthMetrix:TextLineMetrics = determineTextFormatFromStyles().measureText(arr[0]);
for (var i:int = 1; i < arr.length; i++)
{
var metrix:TextLineMetrics = determineTextFormatFromStyles().measureText(arr[i]);
if (metrix.width > maxWidthMetrix.width)
{
maxWidthMetrix = metrix;
}
}
return maxWidthMetrix;
}
override protected function updateDisplayList(unscaledWidth:Number,
unscaledHeight:Number):void
{
super.updateDisplayList(unscaledWidth, unscaledHeight);
label.truncateToFit();
}
}
}
Result:
if someone knew another solution, share it please


No comments:
Post a Comment