Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   DataGrid + LinkButton (http://www.flasher.ru/forum/showthread.php?t=112783)

muff 07.06.2008 17:49

DataGrid + LinkButton
 
привет

такой вопрос возник
Я рисую содержимое XML внутри DataGrid, для одной из колонок задана labelFunction, которая динамически конструирует содержимое ячейки из нескольких параметров.

Код:


<mx:DataGridColumn headerText="Source" dataField="source" labelFunction="composeSRCName" />

теперь я хочу внутрь этой ячейки поместить LinkButton, чтобы совершать переход по ссылке, и надпись на link должна быть та же самая, что была в ячейке


Код:


 <mx:DataGridColumn headerText="Source" dataField="source" labelFunction="composeSRCName" >
   
    <mx:itemRenderer>
    <mx:Component>
      <mx:LinkButton click="showSomething();" />
    </mx:Component>
    </mx:itemRenderer>
  </mx:DataGridColumn>

но такой подход не работает, значение вычисленное в labelFunction не передается в LinkButton, а у самого LinkButton я нашел только аттрибут label, который воспринимает только статические значения...

как тут быть ?

ex.image 09.06.2008 14:20

я бы написал свой itemRenderer, отдельный не inline

mitado 09.06.2008 15:20

нужно переписать функцию data
Код:

<mx:Component>
  <mx:LinkButton click="showSomething();" > 
      <mx:Script>
        <![CDATA[
        private var _data:Object;
        [Bindable]
        override public function get data():Object {
        return _data;
        }
        override public function set data(o:Object):void{
          _data=o;
          this.label = _data.source;
        }                                                               
        ]]>
        </mx:Script>
  </mx:LinkButton>
</mx:Component>


muff 10.06.2008 15:37

спасибо за советы
я попробовал оба способа и в результате написал собственный CellRenderer производный от Label, так оказалось проще всего добиться того что мне было нужно :)


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

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