powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Поиск оптимального DB TreeView
25 сообщений из 81, страница 1 из 4
Поиск оптимального DB TreeView
    #37835005
antox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите, какой компонент или реализацию лучше использовать для получения т.н. DBTreeView ?

Задача достаточно тривиальная:

Есть таблица записей и групп записей. Про таб.записей все понятно, таб. групп содержит id, idparent, namerecord (типы полей думаю понятны)

Необходимо иметь на форме такой функционал? Слева дерево с группами, справа grid с записями. При выборе в дереве группы, фильтруется grid (по id). Похоже на классический справочник в 1C.

--------------------------

Про данные компоненты обсуждалось достаточно много, но четко по выбору я определить так и не смог.

Если остановить на выборе компонента, то необходим компонент (можно и платный, если не очень дорогой), чтобы проект развития компонента не был мертв и с большой долей вероятности не собирался умирать, чтобы мог работать на ibx :)

--------------------------
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835086
Фотография Virtual Student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
antox,

Однозначно - один раз разобраться с TVirtualStringTree и TDBVirtualTree...
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835089
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
имхо, оптимальный "DB"TreeView - вовсе не DB, а обычный, тупо грузить таблицу в память (с нужной сортировкой) и полностью по ней выстраивать дерево (за 1 проход)
если будет тормозить - тогда уж думать

помню хороший отзыв о IBXExTrees by Igor Ilyinsky (платный, зато живой)
но я бы попробовал VirtualTreeView+Dynamic DBTreeView, но насколько второй unicode-ready??
(или FIBPlus-овское TDBVirtualStringTree тоже на основе VTV и фришное, но тоже старое и для фибПЛЮСА - нужно переделывать)
как пример простого подхода - глянь http://www.ibase.ru/devinfo/dbtrees.zip - пара экранов кода
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835110
Фотография Virtual Student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xen2но я бы попробовал VirtualTreeView+Dynamic DBTreeView, но насколько второй unicode-ready??
Все unicode-ready - сейчас их использую в проектах постоянно.
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835129
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Virtual StudentВсе unicode-ready - сейчас их использую в проектах постоянно.Dynamic DBTreeView v.1.9 от 05 Dec 2007 без адаптации работает в юникодных Дельфи? нашли адаптированную? сами адаптировали?
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835205
ain-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот - Dynamic DBTreeView
ОС: Windows 98/ME/NT/2000/2003/XP/7
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835247
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Почему нельзя использовать любое дерево + любой грид? 2 отдельных компонента. Почему нужно искать компонент 2 в одном?
И потом, можно использовать 1 компонент, например VirtualTreeView или cxTreeList. Там дерево сразу с таблицей. Если база Firebirв/Interbase, то есть ещё FibExTree, там уже прямо в дерево много чего реализовано, типа сортировки, перемещения, перетаскивания, создания структуры в базе.
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835307
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ain-2, сами-то пробовали загрузить?
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835367
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
DevExpress - cxDBTreeView + cxGrid
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835372
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по сабжу: Если в дереве менее 10тыс записей, то однозначно Эхлиб.
Работает сразу, нормально ищет, редактирует и фильтрует.

Чтоб это реализовать на TVirtualStringTree надо изрядно попариться.
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835375
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
LSVпо сабжу: Если в дереве менее 10тыс записей, то однозначно Эхлиб

Прямо ОДНОЗНАЧНО ? Вот прямо так "ОДНОЗНАЧНО" ???
Поржал, спасибо
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835429
debose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот тут топик (почти) по теме дб-деревьев: Сказочка про белого бычка, или о том, чего не надо делать .
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835747
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
пропустил: http://www.ibase.ru/ibx/ibxtrees.zip - FREE версия от Igor Ilyinsky, 2001
с триггерами и СП в базе
5 экранов кода
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835752
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
xen2не DB, а обычный... если будет тормозить - тогда уж думатьв 1ю очередь о том, не заменить ли стандартный TTreeView на Virtual, например, как в ссылке про бычка выше
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835755
debose
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А я разделяю (Db)TreeView на 2 категории:
1) TreeView где только дерево (1 колонка)
2) TreeView в виде таблицы (несколько колонок).

Для первого случая можно брать как обычный TreeView и заполнять вручную, так и любой-нибудь бесплатный например из JVCL (TJvDbTreeView)
Для второго случая всё несколько сложнее. Бесплатные варианты: TVirtualStringTreeView, или DB наследник TDbVirtualStringTreeView + править в нём баги. Или какой-нибудь грид умеющий отображать данные в виде дерева. Я знаю только TDbGridEh. В DevEx-ах вроде тоже что-то было.

Топикстартеру совет такой:
1) если JVCL уже стоит - взять DbTree оттуда.
2) если не стоит, то построить дерево самому на базе обычного TreeView.
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835912
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorLSVпо сабжу: Если в дереве менее 10тыс записей, то однозначно Эхлиб

Прямо ОДНОЗНАЧНО ? Вот прямо так "ОДНОЗНАЧНО" ???
Поржал, спасибоДля топикстартера пожалуй однозначно.
Или ты предлагаешь написать ему обёртку под ВиртуалТрии ?
А может ты ее уже написал, но никому не показываешь ? :)

Я видел две или три таких обертки. Жалкое зрелище, увы... Без напильника не заюзаешь.

зы:
// DevExpress - cxDBTreeView + cxGrid
Хороший выбор, но.... Дев дорогой и навороченный. Если не нужны его мегавозможности, то не факт, что есть смысл.

а разве девэкспресс не зачитывает все дерево целиком (т.е. не по мере открытия веток) ?
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37835922
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
LSVdefecatorпропущено...


Прямо ОДНОЗНАЧНО ? Вот прямо так "ОДНОЗНАЧНО" ???
Поржал, спасибоДля топикстартера пожалуй однозначно.
Или ты предлагаешь написать ему обёртку под ВиртуалТрии ?
А может ты ее уже написал, но никому не показываешь ? :)


В каком месте я советовал использовать "ВиртуалТрии" ? Ты меня с кем-то попутал ?
От этого компонента меня просто тошнит.

LSVЯ видел две или три таких обертки. Жалкое зрелище, увы... Без напильника не заюзаешь.

Именно. Каждый точит в результате свою обёртку, потому как в сыром виде VirtualTree не особо переваривается.

LSVзы:
// DevExpress - cxDBTreeView + cxGrid
Хороший выбор, но.... Дев дорогой и навороченный. Если не нужны его мегавозможности, то не факт, что есть смысл.

Вопрос - или один раз купить и везде использовать, изучив все плюсы и минусы, или
каждый раз задаваться вопросом - что использовать.

LSVа разве девэкспресс не зачитывает все дерево целиком (т.е. не по мере открытия веток) ?

Не зачитывает. Серия "dx" - зачитывала по умолчанию, серия "cx" - не зачитывает.
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37836016
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
defecatorНе зачитывает. Серия "dx" - зачитывала по умолчанию, серия "cx" - не зачитывает.Спасибо, буду знать. Сталкивался только с dx.

Меня вполне устраивает Эхлиб.
Не пойму, почему многие носятся с ВиртуалТрии, как с писанной торбой. И с советами подпилить обычный Трии под ДБ. :)
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37836216
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
LSV...как с писанной торбой. И с советами...IBXExTrees всем пробовавшим нравится, но он платный
а все остальные варианты потребуют программирования, какой быстрее и проще - зависит от требований
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37836257
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Wed, 13 Jun 2012 14:02:15 +0400, xen2 <nospam@sql.ru>; wrote:

> Автор: xen2
> IBXExTrees всем пробовавшим нравится, но он платный

Посмотрел... Красиво... ИМХО, стОят своих $30... Но уже 2 года нет обновлений... :\

--
Vladimir A.Bakhvaloff E-Mail:bob<bark>bakh<dot>spb<dot>ru
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37836276
ain-2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVНе пойму, почему многие носятся с ВиртуалТрии, как с писанной торбой.
Потому что удобно, гибко, многогранно.
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37836333
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
xen2пропустил: http://www.ibase.ru/ibx/ibxtrees.zip - FREE версия от Igor Ilyinsky, 2001
с триггерами и СП в базе
5 экранов кода

Был ещё похожий по идеям компонент от Руслана Стрельбы, кстати, мне кажется, он сдесь иногда появляется.
Оба компонента толковые, однако, если хочется компонент по фен-шую, то придётся писать компонент самому. Или купить.
EhTree иногда использую, однако очень редко, когда нужно прям "дерево-сетку", и всё. Недостаток EhTree - нужно заморачиваться с MemTable, да и много в неё не загрузишь, кроме того, выглядит не важнецки, тяжело управлять.
Если данных много - несколько сот тысяч и более - то альтернативе динамической подгрузки "веточек" в TTreeView нет.
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37836396
zeon11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11Почему нельзя использовать любое дерево + любой грид? 2 отдельных компонента

DB-дерево само по себе малоценно. Ну подгрузил данные сразу, или по мере надобности, а дальше что? Пооткрывал веточки, закрыл.
Дерево должно быть полноценным DB-компонентом, например, как DBGrid. Ставишь рядом две DB-сетки, подключаешь их к одному DataSet'у, начинаешь ползать по одной сетке, а курсор ползает и по другой. Также и с DB-деревом - ставишь рядом дерево и сетку, ползаешь по дереву - меняется информация в сетке, захотел побродить по сетке - меняется информация в дереве.
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37836408
Фотография defecator
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
zeon11X11Почему нельзя использовать любое дерево + любой грид? 2 отдельных компонента

DB-дерево само по себе малоценно. Ну подгрузил данные сразу, или по мере надобности, а дальше что? Пооткрывал веточки, закрыл.
Дерево должно быть полноценным DB-компонентом, например, как DBGrid. Ставишь рядом две DB-сетки, подключаешь их к одному DataSet'у, начинаешь ползать по одной сетке, а курсор ползает и по другой. Также и с DB-деревом - ставишь рядом дерево и сетку, ползаешь по дереву - меняется информация в сетке, захотел побродить по сетке - меняется информация в дереве.

Проблема высосана из пальца - это делается ручками несколькими строками кода для (дерево + грид)
...
Рейтинг: 0 / 0
Поиск оптимального DB TreeView
    #37836434
xen2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
zeon11Если данных много - несколько сот тысяч и более - то альтернативе динамической подгрузки "веточек" в TTreeView нет.в ветке по ссылке "про бычка" альтернатива предлагалась - каждый узел и листочек грузится отдельным селектом, а дерево простраивается заранее (правда, там про грид, а не дерево) - очевидно, по "select id, parent_id from...order by parent_id (nulls first)"
решение может показаться странным, но автор был доволен
...
Рейтинг: 0 / 0
25 сообщений из 81, страница 1 из 4
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Поиск оптимального DB TreeView
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]