Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Иерархическая таблица. Как лучше реализовать? [D7]


SP ©   (2009-03-30 12:07:00) 

Нужно отобразить некую иерархическую таблицу.
Т.е. есть таблица, и есть в каждой строке кнопки для раскрытия "подтаблиц". Подтаблицы имеют структуру отличную от основной таблицы.
Но при раскрытии определенной подтаблицы - нужно сдвинуть хвост основной таблицы вниз, а при сворачивании - наоборот.

Пока думаю сделать так:
Решил отрисовывать таблицу на TPanel.
Строку таблицы оформляю в виде класса:


type TMoveEvent=procedure(position:integer);

type TErrMainLine = class (TShape)
    ...
    constructor Create(AOwner:TComponent);override;
    Procedure PMove(position:integer);
 private
    ...
 public
    OnMove:TMoveEvent;
    ...
 end;


При отрисовке таблицы (создание строк) буду соединять предыдущую строку с последующей с помощью OnMove и PMove

т.е. при раскрытии подтаблицы в соответствующей строке будет через OnMove будет вызываться PMove следующего объекта и так далее по цепочке.

Нормально это или извращение?
если извращение - что можете порекомендовать?


MsGuns   (2009-03-31 22:03:00) [1]

Это правильно - для того, чтобы сколотить табуретку, строим лесопилку :)


SP   (2009-03-31 13:41:00) [2]

нашел уже в другом месте ... 200 мб исходников. Задолбался устанавливать... Но Слава Богу все установилось


Amoeba   (2009-03-31 13:10:00) [3]


> SP   (30.03.09 20:18) [9]
>
>
> > Может, cxGrid взять?
>
>
> Блин... Теперь вместо того чтобы писать самому, несколько
> часов убил на поиски этого самого cxGrid'а, и не нашел нормальной
> ссылки чтобы скачать

Ищи DevExpress, он из этой библиотеки

http://www.delphifans.com/SoftView/SoftView_2754.html


SP   (2009-03-30 20:18:00) [4]


> Может, cxGrid взять?


Блин... Теперь вместо того чтобы писать самому, несколько часов убил на поиски этого самого cxGrid'а, и не нашел нормальной ссылки чтобы скачать


Немо   (2009-03-30 18:16:00) [5]

Может, cxGrid взять?


SP   (2009-03-30 17:20:00) [6]

У меня нет 1с и я им никогда не пользовался.
Где бы хоть скриншоты глянуть особо удачных реализаций?


MsGuns   (2009-03-30 16:48:00) [7]

Смотрим 1с и наблюдаем режимы отображения (таблица, иерархический справочник, сгруппированный справочник) и делаем подобное


SP   (2009-03-30 13:53:00) [8]


> Плохиш ©   (30.03.09 13:28) [4]
>
>
> > SP   (30.03.09 13:10) [3]
>
> Тогда рассказывай, что-такое "regular procedure".


ладно, с этим разобрался уже...

Вопрос остался по самому принципу реализации задуманного.


Плохиш   (2009-03-30 13:28:00) [9]


> SP   (30.03.09 13:10) [3]

Тогда рассказывай, что-такое "regular procedure".


SP   (2009-03-30 13:10:00) [10]


> Надо превратить "метод PMove" в "regular procedure".


Что-то никак не получается...


Плохиш   (2009-03-30 12:56:00) [11]

Надо превратить "метод PMove" в "regular procedure".


SP   (2009-03-30 12:47:00) [12]

да. И как событию OnMove присвоить метод PMove?

А то получаю:
Incompatible types: 'regular procedure and method pointer'


Наверх

Титульная страница Поиск, карта сайта Написать письмо