0

AdvancedDataGrid列の 1 つ (拡張) にカスタム レンダラーを使用しています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 に答える