Форум Flasher.ru

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

Flashdown 24.04.2007 17:23

Custom DataGrid
 
Вложений: 1
Доброе утро/день/вечер :)

Мне надо создать такой компонент на основе DataGrid чтобы данные в нем разбивались по группам (группа - несколько строк, объединенных каким то значением). Перед первой строкой группы должна быть строка, содержащая элементы управления для скрытия/отображения строк группы и отображения информации о ней. Только эти элементы должны быть на всю строку, а не в одной ячейке, что собственно и вызывает проблему - как разместить данные на всю строку!

Пока я придумал только 2 варианта:
1) Накладывать поверх строки непрозрачный Canvas и в нем размещать необходимые элементы управления. Минусы - придется это делать в абсолютных координатах и поэтому сложновато будет сделать чтоб канвас попадал именно на нужную строку.. И скрывать/отображать строки группы будет проблематично... И вообще, это не очень красивое решение :)
2) Сделать этот компонент из нескольких таблиц, чтобы каждая группа была в своей таблице. Например в VBox поместить таблицу, состоящую только из заголовка, потом компонент растянутый на всю ширину таблицы, отображающий информацию о следующей группе, далее таблицу без строки заголовка, содержащую данные первой группы, и т.д. Но тут минус - сложно синхронизовать таблицы (например изменение размеров колонок), их общую ширину и т.д.

Может как-нибудь можно просто объединить ячейки в одной из строк и поместить туда данные? Ну типа как в HTMLe - <td colspan="5">...</td>

Примерно что должно получиться - в аттаче

:wacko:

__i 24.04.2007 19:20

как вариант - юзай модифицированый VBox в который пихай свой компонент который реализует именно эти групировки
VBox сам расставит элементы друг за другом независимо от их размеров...

Flashdown 24.04.2007 20:17

VBox это конечно хорошо, но мне нужна функциональность DataGrid (изменять ширину стлобцов, менять их местами и т.д.) + возможность вставлять компоненты на всю строку...
Я же рисунок приложил - самый обычный DataGrid, но между группами вставлен собственный компонент

Azy 25.04.2007 11:23

Ищи компонент TreeDataGrid. Имхо то, что тебе нужно.

Flashdown 25.04.2007 12:46

Цитата:

Сообщение от Azy
Ищи компонент TreeDataGrid. Имхо то, что тебе нужно.

нет, это не то что нужно...
он умеет скрывать/показывать строки... замечательно.. но главная проблема у меня это как разместить свой компонент на ВСЮ ШИРИНУ строки.. в TreeDataGrid это не решается((

Azy 25.04.2007 13:40

тогда делай по второму варианту. Если кол-во столбцов фиксированное - то это не проблема. binding спасет тебя в случае изменения ширины и прочего.


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

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