Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.05.10;
Скачать: CL | DM;

Вниз

Иерархическая таблица. Как лучше реализовать?   Найти похожие ветки 

 
SP   (2009-03-30 12:07) [0]

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

Пока думаю сделать так:
Решил отрисовывать таблицу на 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 следующего объекта и так далее по цепочке.

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


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

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

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


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

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


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


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


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


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


> SP   (30.03.09 13:10) [3]

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


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


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


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

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


 
MsGuns ©   (2009-03-30 16:48) [6]

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


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

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


 
Немо ©   (2009-03-30 18:16) [8]

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


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


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


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


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


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

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

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


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

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


 
MsGuns ©   (2009-03-31 22:03) [12]

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



Страницы: 1 вся ветка

Текущий архив: 2009.05.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.011 c
9-1179259096
DevilDevil
2007-05-15 23:58
2009.05.10
Повернуть спрайт вокруг произвольной точки


2-1238520487
jonin
2009-03-31 21:28
2009.05.10
Скорость


2-1237889881
StriderMan
2009-03-24 13:18
2009.05.10
Уничтожение TWinControl.Controls


15-1236170404
Кто б сомневался
2009-03-04 15:40
2009.05.10
Билл Гейтс запрещает своим детям пользоваться iPod и IPhone


2-1222512134
Rav
2008-09-27 14:42
2009.05.10
Как сохранить *.jpg в базу данных