怎么解决Flex 中字符串超长的显示 ,重写mx.controls.Label
扩展mx.controls.Label,覆盖data set方法:
扩展的label的text可以显示截取的长度,toolTip可以显示完整的。
(1)LabelRender:
package render
{
import mx.controls.Label;
public class LabelRender extends Label
{
public function LabelRender()
{
super();
}
override public function set data(value:Object):void
{
//super.data = value;
super.text=value.age+"a";
super.toolTip=value.age+"";
//this.setStyle("color", (this.compare(s1, s2, compType) ? "#FF0000" : "#C8C8C8"));
}
}
}
(2)在dataGrid中的使用:
<mx:DataGrid id="mygrid">
<mx:columns>
<mx:DataGridColumn dataField="name" headerText="姓名"/>
<mx:DataGridColumn headerText="描述" itemRenderer="{labelRender}"/>
</mx:columns>
</mx:DataGrid>
[Bindable]
private var labelRender:ClassFactory;
protected function application1_creationCompleteHandler(event:FlexEvent):void{
labelRender=new ClassFactory(LabelRender);
}