Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.05.10;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.004 c
15-1236202202
Юрий
2009-03-05 00:30
2009.05.10
С днем рождения ! 5 марта 2009 четверг


2-1238413149
b@v
2009-03-30 15:39
2009.05.10
Градиентная заливка


15-1236678365
pasha_golub
2009-03-10 12:46
2009.05.10
С to Delphi translation


4-1208798881
POP
2008-04-21 21:28
2009.05.10
Хардварный и Виртуальный COM порт.


2-1238085741
bmw09121985
2009-03-26 19:42
2009.05.10
Функции, используемые диалоговыми окнами





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский