Как изменить стиль одной отдельной ячейки в Flex DataGrid? - PullRequest
0 голосов
/ 13 июня 2011

У меня есть Flex DataGrid, где одна отдельная ячейка должна отображаться не так, как другие.В частности, для одной строки сетки одна из ее ячеек должна быть скрыта.

DataGridColumn изложен в моем файле .mxml следующим образом:

    <mx:DataGridColumn editable="false" dataField="interactive" headerText="Select?" width="45">
        <mx:itemRenderer>
            <mx:Component>
                <mx:CheckBox selectedField="isInteractive"
                             click="data.isInteractive=!data.isInteractive; this.parent.parent.dispatchEvent(new Event('interactive_changed'));" 
                             paddingLeft="5"/>
            </mx:Component>
        </mx:itemRenderer>
    </mx:DataGridColumn>

Моя первоначальная мысль быладобавьте условие к mx: CheckBox следующим образом:

<mx:CheckBox visible="{!data.isBackground}" ...

, но это не сработает - на самом деле это портит отображение довольно занимательно (одна из других ячеек в строке получает extra checkbox ... go figure).

Я подозреваю, что это может быть возможно при использовании пользовательского класса ItemRenderer, но для довольно простого случая это требует больших затрат кода.Есть мысли?

(я использую Flex 3.5, если это актуально.)

1 Ответ

0 голосов
/ 13 июня 2011

В Flex 3.5 вам нужен пользовательский itemRenderer.

Я бы сделал так, чтобы у меня было два состояния. Обычный и «флажок», а затем, когда вы переопределяете установщик данных в itemRenderer, соответственно меняете свое состояние.

В Flex 4+ в сетке данных Spark есть свойство itemRendererFunction, в котором вы можете программным образом выбрать itemRenderer, что довольно здорово.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...