Я пытаюсь создать средство визуализации элементов для AdvancedDataGrid, используя MXAdvancedDataGridItemRenderer.
Когда я присоединяю образец настраиваемого средства визуализации элементов (MXAdvancedDataGridItemRenderer) к иерархическим данным в AdvancedDataGrid, средство визуализации элементов не отображает ячейкуправильно.Пользовательский рендерер будет отображаться только в состоянии наведения (выделено), если он также не выбран.Если строка выбрана и наведена, то средство визуализации пользовательского элемента будет отображать ячейку только как выделенную.
Как я могу заставить пользовательское средство визуализации распознавать, что должно быть выделено при отображении строки?
На рисунке ниже показан пример этого.Первый ряд выделен, и мышь находится над второй ячейкой.Как видите, ячейка отображается как «выделенная», а не как «зависшая».
![MXAdvancedDataGridItemRenderer background render issue](https://i.stack.imgur.com/SupWo.png)
Это пример приложения:
<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
minWidth="955" minHeight="600">
<fx:Script>
<![CDATA[
import mx.collections.ArrayCollection;
[Bindable]
public var data:ArrayCollection = new ArrayCollection([
{label:"Fruit", children:[
{label:"Apple", price:1.5},
{label:"Banana", price:2},
{label:"Orange", price:1.75}]},
{label:"Drink", children:[
{label:"Water", price:0.5},
{label:"Milk", price:2.25},
{label:"Juice", price:1.25}]}
]);
]]>
</fx:Script>
<fx:Declarations>
<!-- Place non-visual elements (e.g., services, value objects) here -->
</fx:Declarations>
<mx:AdvancedDataGrid x="10" y="10" width="350" height="200" itemRenderer="TestItemRenderer">
<mx:dataProvider>
<mx:HierarchicalData source="{data}"/>
</mx:dataProvider>
<mx:columns>
<mx:AdvancedDataGridColumn headerText="Name" dataField="label"/>
<mx:AdvancedDataGridColumn headerText="Price" dataField="price"/>
</mx:columns>
</mx:AdvancedDataGrid>
</s:Application>
Иэто пример MXAdvancedDataGridItemRenderer:
<?xml version="1.0" encoding="utf-8"?>
<s:MXAdvancedDataGridItemRenderer xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:s="library://ns.adobe.com/flex/spark"
xmlns:mx="library://ns.adobe.com/flex/mx"
focusEnabled="true">
<s:Label id="lblData" top="0" left="0" right="0" bottom="0" text="{listData.label}" />
</s:MXAdvancedDataGridItemRenderer>