0

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="";
}

如果有人知道这个问题的解决方案,如果他/她可以分享,我会很高兴。

4

2 回答 2

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="";
}
于 2012-12-21T00:31:26.463 回答
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;
}
于 2012-12-22T15:59:16.493 回答