怎么解决Flex 中字符串超长的显示 ,重写mx.controls.Label

如何解决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);
 }