ItemRenderer не изменяет размер с помощью столбца DataGrid - PullRequest
1 голос
/ 08 марта 2012

У меня есть средство визуализации, привязанное к столбцу mx:DataGrid.Рендерер раньше был встроен в столбец, но я переместил его в свой собственный файл, чтобы можно было повторно использовать его в нескольких таблицах.

Проблема в том, что теперь рендерер не изменяет размеры (растут /уменьшить), когда размер столбца изменяется.Поэтому, если пользователь делает столбец очень маленьким, содержимое, отображаемое средством визуализации, просто занимает место и отображается поверх других столбцов. Есть идеи, как сделать эту работу?

Код для средства визуализации элементов:

<?xml version="1.0" encoding="utf-8"?>
<s:MXDataGridItemRenderer 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">
    <mx:HBox verticalScrollPolicy="auto" horizontalScrollPolicy="off" width="100%">
        <mx:Spacer top="0" bottom="0" width="4" />
        <mx:Image id="typeIcon" buttonMode="false" source="{data.type}" />
    </mx:HBox>
</s:MXDataGridItemRenderer>

Код для столбца с использованием этого средства визуализации:

<mx:DataGridColumn headerText="Type" dataField="type" itemRenderer="com.myCompany.myProject.TypeRenderer" />

Редактирование

Добавление width=100% в MXDataGridItemRender не работает.

1 Ответ

0 голосов
/ 09 марта 2012

Я разместил свой вопрос на гибком форуме Adobe - решение было удалить внешний s:MXDataGridItemRenderer и просто позволить mx:HBox быть корневым элементом управления (никаких других изменений не требовалось.)

Странночто приложение Flex Builder не дает вам возможности определить самый внешний элемент управления, оно просто помещает s:MXDataGridItemRenderer поверх ...

...