Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 01.11.2013, 14:16
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 1  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
По умолчанию Компонент исчезает из парента если добавить парента в другой контейнер

Доброго времени суток.
Есть самодельный компонент - таблица. В таблице есть ряды - контейнеры (Group) которые содержат клетки (тоже Group-ы).
При добавлении ряда в таблицу, я сначала добавляю в него все нужные клетки, потом уже добавляю ряд в таблицу.
Проблема в том, что когда я добавляю ряд в таблицу, из него пропадают все клетки.

Ряд содержит специальный контейнер в который добавляются клетки - content, таблица также содержит спец контейнер для рядов - gridContent.
По сути получается вот такое - код в классе таблицы
Код AS3:
row.addCellAt(cell, position); //тут клетка просто добавляется в контейнер content ряда
addRow(row, position);
.....
public function addRow(rowToAdd:Row, position:int):void
{
    Utils.globalTrace('row has ' + rowToAdd.content.numElements + ' cells '); //row has 4 cells
    gridContent.addElementAt(rowToAdd, position);
    Utils.globalTrace('row has ' + rowToAdd.content.numElements + ' cells '); //row has 0 cells 
}
После этого addElementAt клетка которая раньше содержалась в этом ряду остаётся без парента.
Из-за чего такое может происходить ?
__________________
Oomph

Старый 03.11.2013, 17:25
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 2  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
С таким описанием ничего сказать нельзя. Откуда у Group свойство content?

P.S. Почему не воспользовались spark.components.Grid?
__________________
משיח לא בא
משיח גם לא מטלפן

Старый 04.11.2013, 13:03
AlexLucas вне форума Посмотреть профиль Отправить личное сообщение для AlexLucas Найти все сообщения от AlexLucas
  № 3  
Ответить с цитированием
AlexLucas
[+1 05.11.12]
 
Аватар для AlexLucas

Регистрация: Feb 2011
Сообщений: 431
Цитата:
Откуда у Group свойство content
content это
Цитата:
специальный контейнер ряда в который добавляются клетки
То есть имеется такая структура
Код:
Таблица
-контейнер в который ложим ряды - gridContent
--ряды типа Row , кастомный класс
---в каждом есть контейнер для клеток - content
----клетки
Сначала я добавляю клетки каждому ряду в его content, потом добавляю сам ряд в контейнер для рядов таблицы - gridContent, и вот когда я это делаю все клетки исчезают из этого ряда.
Цитата:
P.S. Почему не воспользовались spark.components.Grid?
Помимо добавления/удаления рядов/колонок, мне нужно объединять и разбивать клетки, я не нашёл примеров как это делать в Grid / DataGrid, всё сводится к тому что надо писать всё это самостоятельно, кроме того в гриде каждый элемент занимает одну строку, мне надо по элементу на клетку.

Если вы знаете как полегче это реализовать (merge/split клеток) или может даже знаете где найти готовый компонент с таким функционалом, буду вам очень благодарен, было бы интересно посмотреть как это реализовали другие, может свой компонент смогу улучшить.
__________________
Oomph

Старый 04.11.2013, 13:43
alatar вне форума Посмотреть профиль Отправить личное сообщение для alatar Найти все сообщения от alatar
  № 4  
Ответить с цитированием
alatar
 
Аватар для alatar

блогер
Регистрация: Dec 2008
Адрес: Israel, Natanya
Сообщений: 4,740
Записей в блоге: 11
Увы я не обладаю талантом по вашему описанию восстановить код и определить причину такого поведения. Метод addElementAt в Group не обладает подобным побочным эффектом. Едитственное могу предположить, где-то внутри вы пытаетесь добавить ячейки непосредственно в gridContent или в Row. В таком случае они, естественно, будут удалены из content. Поставьте брэкпоинт и проверьте.

Цитата:
кроме того в гриде каждый элемент занимает одну строку, мне надо по элементу на клетку.
Элемент в списке — строка, его свойства — ячейки. В html, к слову, такое же разделение, у вас есть tr и td.
Цитата:
я не нашёл примеров как это делать в Grid / DataGrid
Как вариант, в момент объединения ячеек, вместо двух столбцов создается один в котором все ячейки, кроме объединенной, отрисовываются как две.

Добавлено через 11 минут
Цитата:
или может даже знаете где найти готовый компонент с таким функционалом, буду вам очень благодарен, было бы интересно посмотреть как это реализовали другие
Достаточно было поискать. Старых компонентов с таким функционалом хватает.
Например: https://code.google.com/p/flex-table...ate%253Dclosed
Как и платных http://blog.flexicious.com/post/Flex...ell-Merge.aspx
__________________
משיח לא בא
משיח גם לא מטלפן

Создать новую тему Ответ Часовой пояс GMT +4, время: 15:41.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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