Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.007 c
2-1238068203
D@nger
2009-03-26 14:50
2009.05.10
Операционка ругается


15-1236157769
pavel_guzhanov
2009-03-04 12:09
2009.05.10
Компоненты для работы с DB2


2-1237963003
Coming
2009-03-25 09:36
2009.05.10
Не понятная ситуация с копированием файла


2-1238154785
Andra
2009-03-27 14:53
2009.05.10
Как получить данные с другого приложения?


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




   Наверх