我有一个AdvancedDataGrid
在其中一列上有自定义渲染器(扩展AdvancedDataGridItemRenderer
)。我有兴趣在列中显示全文作为工具提示,因为它的内容太短。使用标准渲染器,我可以使用showDataTips
轻松实现此效果,但它不适用于自定义渲染器。我尝试测量文本宽度并将其与列宽以几种方式进行比较,但我得到的值不正确,到目前为止没有任何效果。这是一个例子:
public override function set data(value:Object):void
{
super.data=value;
var metrics:TextLineMetrics=getLineMetrics(0);
if (metrics.width>this.width) toolTip=text; else toolTip="";
}
如果有人知道这个问题的解决方案,我会很高兴他/她可以分享。
答案 0 :(得分:0)
试试这个
public override function set data(value:Object):void
{
super.data=value;
var metrics:TextLineMetrics=measureText(text);
if (metrics.width>this.width) toolTip=text; else toolTip="";
}
答案 1 :(得分:0)
我实际上已经解决了它。如果其他人遇到同样的问题,这就是解决方案:
public override function validateSize(recursive:Boolean=false):void
{
super.validateSize(recursive);
if ((AdvancedDataGrid(listData.owner).columns[listData.columnIndex].
showDataTips)&&(textWidth>width))
toolTip=listData.label;
else toolTip=null;
}