Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   custom Renderer (http://www.flasher.ru/forum/showthread.php?t=136042)

KiL33 08.02.2010 16:20

custom Renderer
 
Не получается (и вообще возможно ли это) создать кастом рендер для компонента дата Грид со следующими требованиями

- В дата гриде 4 колонки 2 строки. Первая строка пустая, во вторую во все ячейки(4) необходимо кастомно рендерить компонент NumericStepper

вот так приложение виснит

Код:

<mx:XML id="headersXML">
        <root>
                <headers param1="param1" param2="param2" param3="param3" param4="param4"/>
                <headers param1="1" param2="1" param3="1" param4="1"/>
        </root>
       
</mx:XML>


<mx:DataGrid id="dg" dataProvider="{headersXML.headers}" width="100%" height="100%"
    dragEnabled="true"
    dropEnabled="true"
    dragMoveEnabled="true">
      <mx:columns>
        <mx:DataGridColumn headerText="Column-1" dataField="param1" itemRenderer="stepperRenderer"/>
        <mx:DataGridColumn headerText="Column-2" dataField="param2" itemRenderer="stepperRenderer"/>
        <mx:DataGridColumn headerText="Column-3" dataField="param3" itemRenderer="stepperRenderer"/>
        <mx:DataGridColumn headerText="Column-4" dataField="param4" itemRenderer="stepperRenderer"/>
      </mx:columns>
</mx:DataGrid>

и отдельный mxml компонент stepperRenderer

Код:

<?xml version="1.0" encoding="utf-8"?>
<mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml">
        <mx:Script>
                <![CDATA[
                        import mx.controls.NumericStepper;
               
                        override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void
                        {
                                super.updateDisplayList(unscaledWidth, unscaledHeight)
                                if(data.@param1 == "1") {
                                        var h:NumericStepper = new NumericStepper();
                                        addChild(h);
                                }
                        }       
                ]]>
        </mx:Script>
</mx:Canvas>


SDA_Grails 08.02.2010 19:06

чтобы рендерить вам необходимо отлавливать override function date (value:object) .
Вот полезная ссылка на мой взгляд, думаю что поможет

http://drodionov.narod.ru/flex/ir/itemrenderer01.html

Если помогла отпишите!!


Часовой пояс GMT +4, время: 06:18.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.