копирование содержимого ссылки, предоставленной cbranch здесь. stackoverflow более надежен для хранения фрагментов кода
Отображение подсказок при использовании itemRenderer
Одна из плохих вещей при использовании itemRenderers в DataGridColumn заключается в том, что вы теряете функцию dataTip, которую он обычно предоставляет. Ну, вот способ подделать эту функциональность.
Сначала добавьте dataTipField или dataTipFunction в DataGridColumn, как обычно.
<mx:DataGridColumn headerText="DataTip"
dataField="name1"
showDataTips="true"
dataTipField="description1" />
Затем в свой itemRenderer добавьте следующий код, чтобы иметь возможность подключиться к этой информации и вместо этого отобразить всплывающую подсказку.
private function getToolTip():String{
var dg:DataGrid = listData.owner as DataGrid;
var func:Function = dg.columns[listData.columnIndex].dataTipFunction;
if(func != null){
return func.call(this, this.data);
}else if(dg.columns[listData.columnIndex].dataTipField.length){
return data[dg.columns[listData.columnIndex].dataTipField];
}else{
return "";
}
}
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void{
super.updateDisplayList(unscaledWidth, unscaledHeight);
this.toolTip = getToolTip();
}
Это работает как с dataTipFields, так и с dataTipFunctions и позволяет обрабатывать подсказки data в ваших столбцах одинаково, независимо от того, используете ли вы itemRenderer или нет. Единственным небольшим отличием является расположение метки, но это можно легко изменить с помощью стилей. Вы можете скачать полный исходный код здесь, для функционального примера того, как это работает.
источник