Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как написать свой CellRenderer, подстраивающийся под высоту контента (http://www.flasher.ru/forum/showthread.php?t=134157)

chabapok 22.12.2009 22:21

как написать свой CellRenderer, подстраивающийся под высоту контента
 
Нужно, чтобы ячейки в fl.controls.DataGrid подстраивались по высоте под контент.
Я пытаюсь написать свой cellRenderer, унаследовавшись от библиотечного.

получается - высота действительно меняется, но ШАГ ячеек по вертикали остается прежним, врезультате они друг на друга налазят. Что я делаю не так и как это исправить?

Код AS3:

 
public class MultilineCR extends CellRenderer{
 
                public function MultilineCR(){
                        textField.wordWrap = true;
                        textField.multiline = true;
                        textField.autoSize = "left";
                }
 
                override public function get height():Number {
                        return textField.height;
                }
 
                override public function set listData(value:ListData):void
                {
                        super.listData = value;
                        trace("th=" + textField.textHeight);
                        setSize(width, textField.textHeight);
                        invalidate();
                }


mayakwd 23.12.2009 19:00

Вы забываете наследовать DataGrid и писать от него свой класс, который будет все ячейки в строке делать максимальной высоты (относительно ячеек в строке). + Репозиция строк относительно друг друга и т.д.

Занятие не из приятных, с наступающим Новым Годом! :)

chabapok 24.12.2009 02:00

ндя. Я так и понял, что одним целлрендерером тут не обойтись.
К тому же где взять документацию по protected-методам dataGrid-а -- неясно. Адоб закрыла даже большую часть public-методов CellRenderer.

проще уж взять исходники datagrid из флекс sdk, правда компилится долго.

mayakwd 24.12.2009 04:01

o_O /Adobe Flash CS(3/4)/Common/Configuration/Component Source/Actionscript 3.0/User Interface/fl/controls/DataGrid.as

Партизан 24.12.2009 11:45

Была та же задача... На третий день устал нецензурно выражаться, и написал за полдня свою табличку под свои нужды :)

chabapok 24.12.2009 14:05

mayakwd, спасибо. А я думал, что их не существует. Я думал, что они в флеш плеер вшиты. С ними все гораздо легче и ясней :)

Партизан, это потому, что вы, наверное, в исходники не смотрели. С ними все получается цензурненько. :) Я открыл DataGrid.as - там, вроде бы, все ясно и понятно. Правда ясно то, что действительно своё написать будет проще. %)

KIVagant 27.02.2010 21:29

chabapok, и как результат? Получилось сделать такую табличку?


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

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