|
|
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
Подскажите, какой компонент или реализацию лучше использовать для получения т.н. DBTreeView ? Задача достаточно тривиальная: Есть таблица записей и групп записей. Про таб.записей все понятно, таб. групп содержит id, idparent, namerecord (типы полей думаю понятны) Необходимо иметь на форме такой функционал? Слева дерево с группами, справа grid с записями. При выборе в дереве группы, фильтруется grid (по id). Похоже на классический справочник в 1C. -------------------------- Про данные компоненты обсуждалось достаточно много, но четко по выбору я определить так и не смог. Если остановить на выборе компонента, то необходим компонент (можно и платный, если не очень дорогой), чтобы проект развития компонента не был мертв и с большой долей вероятности не собирался умирать, чтобы мог работать на ibx :) -------------------------- ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 10:39 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
antox, Однозначно - один раз разобраться с TVirtualStringTree и TDBVirtualTree... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 11:46 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
имхо, оптимальный "DB"TreeView - вовсе не DB, а обычный, тупо грузить таблицу в память (с нужной сортировкой) и полностью по ней выстраивать дерево (за 1 проход) если будет тормозить - тогда уж думать помню хороший отзыв о IBXExTrees by Igor Ilyinsky (платный, зато живой) но я бы попробовал VirtualTreeView+Dynamic DBTreeView, но насколько второй unicode-ready?? (или FIBPlus-овское TDBVirtualStringTree тоже на основе VTV и фришное, но тоже старое и для фибПЛЮСА - нужно переделывать) как пример простого подхода - глянь http://www.ibase.ru/devinfo/dbtrees.zip - пара экранов кода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 11:49 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
xen2но я бы попробовал VirtualTreeView+Dynamic DBTreeView, но насколько второй unicode-ready?? Все unicode-ready - сейчас их использую в проектах постоянно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 12:02 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
Virtual StudentВсе unicode-ready - сейчас их использую в проектах постоянно.Dynamic DBTreeView v.1.9 от 05 Dec 2007 без адаптации работает в юникодных Дельфи? нашли адаптированную? сами адаптировали? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 12:17 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
Вот - Dynamic DBTreeView ОС: Windows 98/ME/NT/2000/2003/XP/7 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 13:34 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
Почему нельзя использовать любое дерево + любой грид? 2 отдельных компонента. Почему нужно искать компонент 2 в одном? И потом, можно использовать 1 компонент, например VirtualTreeView или cxTreeList. Там дерево сразу с таблицей. Если база Firebirв/Interbase, то есть ещё FibExTree, там уже прямо в дерево много чего реализовано, типа сортировки, перемещения, перетаскивания, создания структуры в базе. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 14:26 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
ain-2, сами-то пробовали загрузить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 15:21 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
DevExpress - cxDBTreeView + cxGrid ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 16:34 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
по сабжу: Если в дереве менее 10тыс записей, то однозначно Эхлиб. Работает сразу, нормально ищет, редактирует и фильтрует. Чтоб это реализовать на TVirtualStringTree надо изрядно попариться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 16:37 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
LSVпо сабжу: Если в дереве менее 10тыс записей, то однозначно Эхлиб Прямо ОДНОЗНАЧНО ? Вот прямо так "ОДНОЗНАЧНО" ??? Поржал, спасибо ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 16:40 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
Вот тут топик (почти) по теме дб-деревьев: Сказочка про белого бычка, или о том, чего не надо делать . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2012, 17:40 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
пропустил: http://www.ibase.ru/ibx/ibxtrees.zip - FREE версия от Igor Ilyinsky, 2001 с триггерами и СП в базе 5 экранов кода ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 05:19 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
xen2не DB, а обычный... если будет тормозить - тогда уж думатьв 1ю очередь о том, не заменить ли стандартный TTreeView на Virtual, например, как в ссылке про бычка выше ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 06:06 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
А я разделяю (Db)TreeView на 2 категории: 1) TreeView где только дерево (1 колонка) 2) TreeView в виде таблицы (несколько колонок). Для первого случая можно брать как обычный TreeView и заполнять вручную, так и любой-нибудь бесплатный например из JVCL (TJvDbTreeView) Для второго случая всё несколько сложнее. Бесплатные варианты: TVirtualStringTreeView, или DB наследник TDbVirtualStringTreeView + править в нём баги. Или какой-нибудь грид умеющий отображать данные в виде дерева. Я знаю только TDbGridEh. В DevEx-ах вроде тоже что-то было. Топикстартеру совет такой: 1) если JVCL уже стоит - взять DbTree оттуда. 2) если не стоит, то построить дерево самому на базе обычного TreeView. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 06:08 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
defecatorLSVпо сабжу: Если в дереве менее 10тыс записей, то однозначно Эхлиб Прямо ОДНОЗНАЧНО ? Вот прямо так "ОДНОЗНАЧНО" ??? Поржал, спасибоДля топикстартера пожалуй однозначно. Или ты предлагаешь написать ему обёртку под ВиртуалТрии ? А может ты ее уже написал, но никому не показываешь ? :) Я видел две или три таких обертки. Жалкое зрелище, увы... Без напильника не заюзаешь. зы: // DevExpress - cxDBTreeView + cxGrid Хороший выбор, но.... Дев дорогой и навороченный. Если не нужны его мегавозможности, то не факт, что есть смысл. а разве девэкспресс не зачитывает все дерево целиком (т.е. не по мере открытия веток) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 10:36 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
LSVdefecatorпропущено... Прямо ОДНОЗНАЧНО ? Вот прямо так "ОДНОЗНАЧНО" ??? Поржал, спасибоДля топикстартера пожалуй однозначно. Или ты предлагаешь написать ему обёртку под ВиртуалТрии ? А может ты ее уже написал, но никому не показываешь ? :) В каком месте я советовал использовать "ВиртуалТрии" ? Ты меня с кем-то попутал ? От этого компонента меня просто тошнит. LSVЯ видел две или три таких обертки. Жалкое зрелище, увы... Без напильника не заюзаешь. Именно. Каждый точит в результате свою обёртку, потому как в сыром виде VirtualTree не особо переваривается. LSVзы: // DevExpress - cxDBTreeView + cxGrid Хороший выбор, но.... Дев дорогой и навороченный. Если не нужны его мегавозможности, то не факт, что есть смысл. Вопрос - или один раз купить и везде использовать, изучив все плюсы и минусы, или каждый раз задаваться вопросом - что использовать. LSVа разве девэкспресс не зачитывает все дерево целиком (т.е. не по мере открытия веток) ? Не зачитывает. Серия "dx" - зачитывала по умолчанию, серия "cx" - не зачитывает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 10:45 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
defecatorНе зачитывает. Серия "dx" - зачитывала по умолчанию, серия "cx" - не зачитывает.Спасибо, буду знать. Сталкивался только с dx. Меня вполне устраивает Эхлиб. Не пойму, почему многие носятся с ВиртуалТрии, как с писанной торбой. И с советами подпилить обычный Трии под ДБ. :) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 11:19 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
LSV...как с писанной торбой. И с советами...IBXExTrees всем пробовавшим нравится, но он платный а все остальные варианты потребуют программирования, какой быстрее и проще - зависит от требований ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 13:02 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
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 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 13:30 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
LSVНе пойму, почему многие носятся с ВиртуалТрии, как с писанной торбой. Потому что удобно, гибко, многогранно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 13:39 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
xen2пропустил: http://www.ibase.ru/ibx/ibxtrees.zip - FREE версия от Igor Ilyinsky, 2001 с триггерами и СП в базе 5 экранов кода Был ещё похожий по идеям компонент от Руслана Стрельбы, кстати, мне кажется, он сдесь иногда появляется. Оба компонента толковые, однако, если хочется компонент по фен-шую, то придётся писать компонент самому. Или купить. EhTree иногда использую, однако очень редко, когда нужно прям "дерево-сетку", и всё. Недостаток EhTree - нужно заморачиваться с MemTable, да и много в неё не загрузишь, кроме того, выглядит не важнецки, тяжело управлять. Если данных много - несколько сот тысяч и более - то альтернативе динамической подгрузки "веточек" в TTreeView нет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 14:06 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
X11Почему нельзя использовать любое дерево + любой грид? 2 отдельных компонента DB-дерево само по себе малоценно. Ну подгрузил данные сразу, или по мере надобности, а дальше что? Пооткрывал веточки, закрыл. Дерево должно быть полноценным DB-компонентом, например, как DBGrid. Ставишь рядом две DB-сетки, подключаешь их к одному DataSet'у, начинаешь ползать по одной сетке, а курсор ползает и по другой. Также и с DB-деревом - ставишь рядом дерево и сетку, ползаешь по дереву - меняется информация в сетке, захотел побродить по сетке - меняется информация в дереве. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 14:39 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
zeon11X11Почему нельзя использовать любое дерево + любой грид? 2 отдельных компонента DB-дерево само по себе малоценно. Ну подгрузил данные сразу, или по мере надобности, а дальше что? Пооткрывал веточки, закрыл. Дерево должно быть полноценным DB-компонентом, например, как DBGrid. Ставишь рядом две DB-сетки, подключаешь их к одному DataSet'у, начинаешь ползать по одной сетке, а курсор ползает и по другой. Также и с DB-деревом - ставишь рядом дерево и сетку, ползаешь по дереву - меняется информация в сетке, захотел побродить по сетке - меняется информация в дереве. Проблема высосана из пальца - это делается ручками несколькими строками кода для (дерево + грид) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 14:46 |
|
||
|
Поиск оптимального DB TreeView
|
|||
|---|---|---|---|
|
#18+
zeon11Если данных много - несколько сот тысяч и более - то альтернативе динамической подгрузки "веточек" в TTreeView нет.в ветке по ссылке "про бычка" альтернатива предлагалась - каждый узел и листочек грузится отдельным селектом, а дерево простраивается заранее (правда, там про грид, а не дерево) - очевидно, по "select id, parent_id from...order by parent_id (nulls first)" решение может показаться странным, но автор был доволен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2012, 15:00 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=37836396&tid=2040608]: |
0ms |
get settings: |
6ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
191ms |
get topic data: |
8ms |
get forum data: |
2ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
| others: | 215ms |
| total: | 508ms |

| 0 / 0 |
