Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
11.11.2008, 05:11
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
Назрела насущная необходимость в многоколончатом treeview. Кто что использует для этого? Может кто нить посоветует готовый контрол? Облазил полинтернета не могу найти ничего подходящего. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.11.2008, 07:39
|
|||
---|---|---|---|
Multi columm treeview (treeview + grid) |
|||
#18+
Сходите на http://foxclubmagazine.foxhelp.ru/mi0810.aspx Там есть пример листвью с отступами. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.11.2008, 11:10
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.11.2008, 11:18
|
|||
---|---|---|---|
Multi columm treeview (treeview + grid) |
|||
#18+
Дороговато будя : авторSingle Developer License: $399 Upgrade from version 6.0: $239 /developer Multi-Developer Licenses: ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.11.2008, 11:22
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
Хорошая штука. НО дороговато все же. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
11.11.2008, 14:05
|
|||
---|---|---|---|
Multi columm treeview (treeview + grid) |
|||
#18+
Бесплатных вы не найдете (если только ломаные). Просто потому, что на практике это почти бесполезная вещь. Как и дерево вообще. Поигрался и бросил. Она красиво выглядит, но работать с ней трудно. Трудно для пользователя. Особенно, если много узлов. Как правило, делают все-таки два объекта: оглавление (TreeView) и содержание (Grid). Причем содержание можно делать на базе PageFrame, чтобы можно было динамически менять структуру Grid в зависимости от типа узла или уровня вложенности. Отдельные Grid на каждой странице PageFrame и активизация страниц по необходимости. Возможно, если вы опишите задачу, для решения которой, как вам кажется, нужен именно многоколоночный Grid, вам подскажут можно ли решить задачу другими способами. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.11.2008, 02:44
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
ВладимирМБесплатных вы не найдете (если только ломаные). Просто потому, что на практике это почти бесполезная вещь. Как и дерево вообще. Поигрался и бросил. Она красиво выглядит, но работать с ней трудно. Трудно для пользователя. Особенно, если много узлов. Как правило, делают все-таки два объекта: оглавление (TreeView) и содержание (Grid). Причем содержание можно делать на базе PageFrame, чтобы можно было динамически менять структуру Grid в зависимости от типа узла или уровня вложенности. Отдельные Grid на каждой странице PageFrame и активизация страниц по необходимости. Возможно, если вы опишите задачу, для решения которой, как вам кажется, нужен именно многоколоночный Grid, вам подскажут можно ли решить задачу другими способами. ну насчет дерева я не соглашусь. у нас написано несколько классов на основе TreeView к нему прикручен поиск и куча разных фишечек. все работает просто замечаетльно и удобно, тем более у нас куча древовидных справочников. Все эти танцы с бубном с изменением грайда по нодеклику или там создание дополнительных текстбоксов и комбо уже давно оттанцованы и пройдены. именно поэтому и пришло понимание необходимости многоколончатого тривью. Он используется в очень многих приложениях и весьма успешно. с его помощью интерфейс упрощается в разы. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.11.2008, 15:46
|
|||
---|---|---|---|
Multi columm treeview (treeview + grid) |
|||
#18+
Вы пользователей-то спрашивали? Если вам кажется , что с объектом работать удобно, то это только потому, что вы уже "смотреть на него не можете". Также не следует спрашивать у опытных пользователей, давно работающих с вашей системой. У них те же проблемы. "Глаз замылился". Качество интерфейса определяется "обучаемостью" нового персонала. Как быстро новый пользователь научится находить нужную информацию. Сколько времени он будет тратить на этот процесс. Главный недостаток работы с деревом - сложность поиска нужных данных. Вы вынуждены создавать паралельную, дублирующую, систему навигации и поиска. Т.е. смотрим "картинку" TreeView, но реальная работа происходит в "плоских" таблицах и списках. И возникает вопрос: а зачем этот TreeView вообще нужен, если основная работа происходит вне этого объекта? Даже та работа, для которой он вроде бы и создавался - облегчение поиска и навигации. Не облегчает TreeView ни поиска, ни навигации. Только усложняет. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.11.2008, 16:54
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
ВладимирМВы пользователей-то спрашивали? Если вам кажется , что с объектом работать удобно, то это только потому, что вы уже "смотреть на него не можете". Также не следует спрашивать у опытных пользователей, давно работающих с вашей системой. У них те же проблемы. "Глаз замылился". Качество интерфейса определяется "обучаемостью" нового персонала. Как быстро новый пользователь научится находить нужную информацию. Сколько времени он будет тратить на этот процесс. Главный недостаток работы с деревом - сложность поиска нужных данных. Вы вынуждены создавать паралельную, дублирующую, систему навигации и поиска. Т.е. смотрим "картинку" TreeView, но реальная работа происходит в "плоских" таблицах и списках. И возникает вопрос: а зачем этот TreeView вообще нужен, если основная работа происходит вне этого объекта? Даже та работа, для которой он вроде бы и создавался - облегчение поиска и навигации. Не облегчает TreeView ни поиска, ни навигации. Только усложняет. Мы занимаемся разработкой пользовательских интерфейсов уже лет 15 и почти всеэто время в фокспро, начиная с 2.0. За это время было перепробовано много всего. в результате проб и ошибок наработано определенное количество классов в приемов построения интерфейсов. Назови мне такое приложение, где бы использовались ПЛОСКИЕ справочники. У нас специфика такова что ВСЕ справочники имеют древовидную структуру (то есть, побиты на группы, причем уровень вложенности групп может быть очень разный). Теперь подскажи мне способ отображать древовидные структуры лучше, чем это делает тривью. Что касается поиска, то, по моему, я говорил - поиск интергрирован прямо в класс,которому передается таблица определенной структуры. Поиск контекстный и очень быстрый. Если Вы считаете, что тривью не ускоряет ни навигации ни поиска, то я, исходя из своего опыта, считаю обратное. И не только я. Сейчас нет ни одной крупной программы, которая могла бы обойтись без тривью. А вообще разговор не о том. Мне нужен определенный контрол и я знаю КАК и ЗАЧЕМ его использовать. ВОпрос стоит, что либо разрабатывать его самостоятельно, либо использовать что-то, что уже кто-то разработал. но то, что он нужен и я буду его использовать у меня сомнений нет. Кстати, если интересно классом могу поделиться. Правда не уверен, что выберу время чтобы хорошенько его задокументировать, тем более что там используется несколько классов, каждый из которых может быть использован самостоятельно. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.11.2008, 17:03
|
|||
---|---|---|---|
Multi columm treeview (treeview + grid) |
|||
#18+
Gendrive, милости просим, FoxClub , делитесь, а практика и время вас/нас рассудят. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.11.2008, 17:45
|
|||
---|---|---|---|
Multi columm treeview (treeview + grid) |
|||
#18+
Gendrive Вы настолько привыкли использовать TreeView, что просто не видите других способов организации данных. Есть запись, у нее есть реквизиты (поля). Например, признак группы. Хотите "дерево"? Добавьте еще один реквизит (поле) - подгруппа. И какие проблемы вывести это как линейный список? Это один из вариантов. Можно еще использовать связанные таблицы (один уровень - одна таблица). Есть и другие варианты. Более того, есть другие принципы организации работы. Неопределенное количество уровней вложенности - это либо ошибка проектирования, либо специфическая область деятельности. Да и то, во втором случае, использование TreeView, как правило, служит не для поиска, а для наглядного представления некой отдельной (небольшой) структуры. TreeView для поиска не приспособлен. Он вообще этого не умеет. Никак. Классический пример - проводник Windows. Иерархия директорий, каталогов, папок. Вы сели за чужой компьютер. Вы не знаете где именно, в какой папке, находится нужный вам файл. Как вы будете осуществлять поиск с помощью дерева? Очевидно, просто тупо открывая ВСЕ ветки. Т.е. вообще ВСЕ. У вас нет других вариантов. Какое уж тут ускорение... А как же поиск? А поиск файла, осуществляется в линейном списке! Результат поиска - это линейный список БЕЗ дерева. Другими словами, поиск осуществляется ВНЕ идеологии древовидной струкутры. И только ПОСЛЕ окончания поиска вы делаете обратное преобразование. На основании найденной информации достраиваете иерархию. Получается двойное преобразование - из дерева в линейный список, затем поиск в этом линейном списке, затем преобразование результата в дерево. И зачем тут вообще нужно дерево? Почему бы не выбросить этот явно лишний элемент? ---------------------------------- Впрочем, вы уже не в состоянии сделать что-то другое. Вам мешает наработанный FrameWork. Теперь уже не вы разрабатываете интерфейс, а созданный FrameWork диктует вам принципы работы. Вы вынуждены подстраиваться под существующую систему и ее интерфейс. Без вариантов. Собственно, поэтому можете не обращать внимание на все ранее сказанное. Даже если вы и захотите, вы не сможете это все применить на практике. Созданный FrameWork не позволит. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.11.2008, 21:03
|
|||
---|---|---|---|
Multi columm treeview (treeview + grid) |
|||
#18+
Gendrive Мы занимаемся разработкой пользовательских интерфейсов уже лет 15 и почти всеэто время в фокспро, начиная с 2.0. За это время было перепробовано много всего. в результате проб и ошибок наработано определенное количество классов в приемов построения интерфейсов. Назови мне такое приложение, где бы использовались ПЛОСКИЕ справочники. У нас специфика такова что ВСЕ справочники имеют древовидную структуру (то есть, побиты на группы, причем уровень вложенности групп может быть очень разный). Теперь подскажи мне способ отображать древовидные структуры лучше, чем это делает тривью. Что касается поиска, то, по моему, я говорил - поиск интергрирован прямо в класс,которому передается таблица определенной структуры. Поиск контекстный и очень быстрый. Если Вы считаете, что тривью не ускоряет ни навигации ни поиска, то я, исходя из своего опыта, считаю обратное. И не только я. Сейчас нет ни одной крупной программы, которая могла бы обойтись без тривью. Да.. интересный спор. Могу тоже подать свой голос к мнению ВладимирМ. Не считал, сколько лет уже занимаюсь разработкой программного обеспечения, но, как говорится, "Я уже столько забыл, сколько вы еще не знаете". Это шутка. А если серьезно, то, конечно, смотрятся иерархические справочники красиво. Собственно говоря, у нас в системы тоже почти все справочники иерархические. Но вот какая штука получилась.. Для ввода данных в справочник (операция не очень частая, согласитесь) иерархия помогает. Модно не торопясь найти нужную группу элемента и добавить в нее новый элемент. Но вот когда операционист использует такой справочник для выбора нужного элемента при оформлении документа (например, приходный ордер), то оказалось, что ему (операционисту) удобнее (т.к. значительно быстрее) иметь общий список всех элементов справочника в виде грида и хорошее средство для поиска (отбора) нужного элемента в этом гриде. Наблюдения показали, что опытный операционист НИКОГДА не использует, сначала выбор в "дереве" нужной группы в иерархии элементов, а потом, сам поиск элемента. Он ПОМНИТ ключевые параметры нужно элемента (название, код и пр.) и использует их для поиска в "плоском" гриде. Нам в системе даже пришлось добавить на формы выбора элементов справочника опцию ("искать в подгруппах"), которая выводит в гриде элементы ВСЕХ подуровней "дерева", т.е., фактически, отключает "дерево" и выводит в грид ВСЕ элементы справочника, а не только из выбранной ветке. На картинке показан пример использования такого режима выбора элемента справочника: Операционист примерно знает код элемента справочника (или его название) и начинает его вводить в поле кода. Грид начинает фильтровать по введенному коду и уменьшает выборку на экране. Операционист НЕ ХОЧЕТ выбирать группу в дереве. Он использует фильтрацию только в гриде. Мышкой он (опытный операционист) практически не пользуется и весь поиск нужного элемента занимает времени значительно быстрее, чем, если бы он сначала в дереве нашел нужную группу, а затем уже и сам элемент. Не очень опытный пользователь использует поначалу "дерево" для поиска элемента, но очень быстро, как мы заметили, он переходит в режим "отображения из всех подгрупп" и поиска в гриде. С уважением, Алексей ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.11.2008, 21:51
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
А мои пользователи вообще не хотят искать нигде: не в дереве, не в списке, не в гриде. Так и вводят каждый раз новое значение. Последняя идея - сделать ввод нового значения более трудным, чем его поиск. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
12.11.2008, 22:11
|
|||
---|---|---|---|
Multi columm treeview (treeview + grid) |
|||
#18+
Мне кажется будет проще поколдовать с гридом (поиграть подсветкой различных строк, добавить кнопочки с плюсиками и минусиками и т.д.) и сделать из него некое подобие дерева. Нежели пытаться воткнуть грид в дерево. В этом случае открывается большой простор для творчества. А дерево - слишком ограниченный элемент. Грид на порядок гибче. А вообще, я несколько раз пытался вписать дерево в различные программы. И каждый раз убирал его. Потому что упирался в ограниченость его функционала. Красиво ? Безусловно. У юзеров слюнки текли от восторга, когда видели раскрывающееся дерево (особенно завораживал процесс на медленных компах). Но дальше красоты дело не шло. Про поиск уже писали - получается двойная работа. Так что в дереве больше понтов, чем реальной помощи для юзера. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.11.2008, 01:12
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
Gendriveну насчет дерева я не соглашусь. у нас написано несколько классов на основе TreeView к нему прикручен поиск и куча разных фишечек. все работает просто замечаетльно и удобно, тем более у нас куча древовидных справочников. А я поддержу Gendrive . У меня регистрационно-поисковая система вся на деревьях. Т.е. таблица или выборка, каждой записи которой соответсвует уникальный ID загоняется в многоуровневый TreeView. У него есть свойства .OleTree.SelectedItem.Key .OleTree.SelectedItem.Index Отождествляя .SelectedItem.Key с ID через Seek мгновенно отождествляем TreeView с таблицей/выборкой. Я также осуществлял перенесение данных из одной таблицы в другую путём drag-drop с одного дерева на другое. Эффект великолепный и красиво смотрится... Иконки меняются, цвета перенесённых Nodes тоже... И PopUp на RightClik(), хотя этого свойства у него нет... К тому же ему доступен inc search. И как у Gendrive , на определённом уровне у меня возникла потребность в многоколоночном TreeView, как, наверное, более прогрессивном. Но сколько я форумы лет 5-ть назад не пытал, так никто толком ничего и не посоветовал. А в нэте что находил - слишком дорого стоило... Можно, как частный случай, использовать ListView, но хорошего описания не нашёл... Лично я усматриваю один недостаток TreeView - ActiveX слишком долго строится на больших таблицах. Кто-нибудь пробовал загнать выборку в 50,000 записей в TreeView? А 600,000? А ведь есть базы и побольше. И тут уже нужны специальные алгоритмы построиения и баз и дерева. Вообще под дерево надо хорошо продумывать структуру БД. Я за TreeView, но, видимо, во всём должен быть разумный предел... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.11.2008, 02:13
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
Владимир, я ОЧЕНЬ попрошу вас, не вести разговор в таком ключе. Мы все здесь всказываем свои мнения и пришли на форум не для того чтобы нас УЧИЛИ как жить дальше и указывали на наши недостатки, а для обсуждения неких вопросов. Если кроме психологии (ну там привыкли и все аткое) других аргументов нет, то наверное эти лучше опустить. ТЕперь по порядку. ВладимирМ Gendrive Вы настолько привыкли использовать TreeView, что просто не видите других способов организации данных. Тривью мы используем всего пару лет. Просто до этого, так же как и у большинства кто здесь пишет, руки не доходили толком разобраться в его функциональности и приемах работы с ним. Часто можно слышать упреки тривью в том что он медленно заполняется например. В моем классе ПОЛНОЕ заполнение тривью с порядка 10000 узлов происходит 2-3 секунды. причем это стандартный тривью. ВладимирМ Есть запись, у нее есть реквизиты (поля). Например, признак группы. Хотите "дерево"? Добавьте еще один реквизит (поле) - подгруппа. И какие проблемы вывести это как линейный список? Это один из вариантов. Можно еще использовать связанные таблицы (один уровень - одна таблица). Есть и другие варианты. Более того, есть другие принципы организации работы. Отобразить плоские данные в тривью без проблем. А вот попробуй сделать обратное в гриде. Потому то я и ищу контрол, который бы объединял функциональность грида и тривью. Ибо в нем я могу отображать и плоскую структуру и древовидную. ВладимирМ Неопределенное количество уровней вложенности - это либо ошибка проектирования, либо специфическая область деятельности. Да и то, во втором случае, использование TreeView, как правило, служит не для поиска, а для наглядного представления некой отдельной (небольшой) структуры. Мне кажется, что тебе нужно отучаться говорить категорично. Простой пример - справочник материалов. Ну ка запроектируй его мне с ОПРЕДЕЛЕННЫМ количеством уровней вложенности? Или справочник проектов и работ. Ты когда нить видел Primavera например? ВладимирМ TreeView для поиска не приспособлен. Он вообще этого не умеет. Никак. Классический пример - проводник Windows. Иерархия директорий, каталогов, папок. Если ТЫ не умеешь этого делать, то не значит что этого не может делать никто. ВладимирМ Вы сели за чужой компьютер. Вы не знаете где именно, в какой папке, находится нужный вам файл. Как вы будете осуществлять поиск с помощью дерева? Очевидно, просто тупо открывая ВСЕ ветки. Т.е. вообще ВСЕ. У вас нет других вариантов. Какое уж тут ускорение... а рядышком нажать копочку поиск религия не позволяет? ВладимирМ А как же поиск? А поиск файла, осуществляется в линейном списке! Результат поиска - это линейный список БЕЗ дерева. Другими словами, поиск осуществляется ВНЕ идеологии древовидной струкутры. И только ПОСЛЕ окончания поиска вы делаете обратное преобразование. На основании найденной информации достраиваете иерархию. Ну в частности в моем классе, результаты поиска выводятся точно так же в виде дерева. ВладимирМ Получается двойное преобразование - из дерева в линейный список, затем поиск в этом линейном списке, затем преобразование результата в дерево. И зачем тут вообще нужно дерево? Почему бы не выбросить этот явно лишний элемент? Опять же нет никаких преобразований. Таблица передаваемая в тривью содержит все идентификаторы. поиск осуществялется по ней. а знаяю ключ узла отобразить его в тривью дело пары миллисекунд. ВладимирМ Впрочем, вы уже не в состоянии сделать что-то другое. Вам мешает наработанный FrameWork. Теперь уже не вы разрабатываете интерфейс, а созданный FrameWork диктует вам принципы работы. Вы вынуждены подстраиваться под существующую систему и ее интерфейс. Без вариантов. Собственно, поэтому можете не обращать внимание на все ранее сказанное. Даже если вы и захотите, вы не сможете это все применить на практике. Созданный FrameWork не позволит. Еще раз. отучаемся говорить категорично и пытаться оценивать других пользуясь своим опытом. Если ты НЕ НАУЧИЛСЯ использовать что-то, то это совсем не значит что это использовать невозможно и вредно. Есть волшебное слово "ИМХО" . Есть различные мнения и от того что оно твое оно вовсе не становится истиной в последней инстанции. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.11.2008, 02:21
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
Валентин Н.Карелин, Насчет скорости заполнения. Да она оставляет желать лучшего. Но, попробуй перед заполнением сделать тривью visible = .F. удивишься насколько возрастет скорость заполнения. ВО всяком случае работа в пределах первого дестяка тысяч узлов вполне себе комфортна. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.11.2008, 02:23
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
AleksMedGendrive, милости просим, FoxClub , делитесь, а практика и время вас/нас рассудят. постараюсь создать краткое описание классов и выложить. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.11.2008, 03:18
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
GendriveНасчет скорости заполнения. Да она оставляет желать лучшего. Но, попробуй перед заполнением сделать тривью visible = .F. удивишься насколько возрастет скорость заполнения. У меня форма с тривью, появляется только тогда, когда тривью заполнено. Сначала появляется формочка с ActiveX ProgressBar - по нему можно визуально оценить ход построения тривью (которого не видно). Когда ProgressBar достигает 100%, происходит его Release() и появляется формочка с ActiveX TreeView (напр., та что я приложил выше). И так везде, по схеме - SQL Select...ProgressBar...TreeView. А смотреть как строится дерево, это тоже самое как направить отчет в Excel и смотреть, как заполняются, форматируются, группируются строки... Лоховато несколько. Есть же свойство Visible... Повторяю, я за TreeView и в своё время пытался перейти на табличный вариант ListView. Но меня несколько охладило, когда я базу, спроектированную в FPD 2.0 и работающую под DOS стал помещать в TreeView. Правда, при проектировании этой ДРЕВНОСТИ, понятия TreeView, наверное, ещё не было... 3,000 записей - 19 секунд... Это долго... Я и говорю, базы надо проектировать с учётом их представления в TreeView - это позволит сэкономить много времени при построении самого TreeView. Однако, если ты строишь только узлов 10,000 за 2-3 секунды, я снимаю шляпу... Без преувеличения говорю... Мнение господина ВладимираМ о сложности поиска нужных данных, паралельной, дублирующей, системе навигации и поиска и пр... и пр... не разделяю. Хотя оно тоже имеет право на существование. Все навигационно-поисковые функции описаны на сайте Шутенко, вдоль и поперёк.... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.11.2008, 03:23
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
Валентин Н.Карелин3,000 записей - 19 секунд... Это долго... Правда дерево вышло 5-ти уровневое и рекурсии использовались... Но база, с точки зрения дерева, была построена бездарно ... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.11.2008, 03:49
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
Валентин Н.Карелин, в результате экспериментов я выяснил, что даже если форма не отображается, но у тривью визибл стоит .Т. то оно все равно пытается заниматься визуальной перерисовкой. А вот если ему выключить видимость, то скорость возрастает в разы. попробуй. По поводу баз данных. У нас все процедуры на SQL заточены под то, чтобы СРАЗУ выдавать таблицу с определенной структурой. В частности, в ней обязаны быть поля ID, Parent_ID, Descr. Есть еще опциональные поля в таблице: isFolder, Color_ID, Icon_ID еще какие то. классу передается только эта таблица и уже на базе ее он сам строит деерво со всеми рюшечками. Поиск тоже внутри класса - ищет сразу внутри таблицы и отбражает в дереве. То есть, я думаю, тебе подготовку данных нужно осуществлять ДО ТОГО как ты начнешь строить дерево. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.11.2008, 03:59
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
GendriveТо есть, я думаю, тебе подготовку данных нужно осуществлять ДО ТОГО как ты начнешь строить дерево. А я так и делаю... Свои базы я проектирую с учётом их дальнейшего древовидного представления Gendriveв результате экспериментов я выяснил, что даже если форма не отображается, но у тривью визибл стоит .Т. то оно все равно пытается заниматься визуальной перерисовкой. А вот если ему выключить видимость, то скорость возрастает в разы. попробуй. А вот это хорошая мысль... Попробую... ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.11.2008, 04:17
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
Валентин Н.Карелин, щас лишний раз проверил. Запуск скомпилированного приложения (справочник материалов) от момента запуска EXE до отображения окна с получением данныс с SQL (причем не просто получение а выборка их там из еще большего справочника (1сv8 SQL) и обработкой их там и заполнением тривью, количество нодов чуть меньше 4 с половиной тысяч (точно - 4440 узлов) занимает около 5 секунд. Как это выглядит видно на приложенном файле. причем вся эта форма по сути один класс просто брошенный на форму. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.11.2008, 05:31
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
Aleksey-K Но вот какая штука получилась.. Для ввода данных в справочник (операция не очень частая, согласитесь) иерархия помогает. Модно не торопясь найти нужную группу элемента и добавить в нее новый элемент. Но вот когда операционист использует такой справочник для выбора нужного элемента при оформлении документа (например, приходный ордер), то оказалось, что ему (операционисту) удобнее (т.к. значительно быстрее) иметь общий список всех элементов справочника в виде грида и хорошее средство для поиска (отбора) нужного элемента в этом гриде. Наблюдения показали, что опытный операционист НИКОГДА не использует, сначала выбор в "дереве" нужной группы в иерархии элементов, а потом, сам поиск элемента. Он ПОМНИТ ключевые параметры нужно элемента (название, код и пр.) и использует их для поиска в "плоском" гриде. Нам в системе даже пришлось добавить на формы выбора элементов справочника опцию ("искать в подгруппах"), которая выводит в гриде элементы ВСЕХ подуровней "дерева", т.е., фактически, отключает "дерево" и выводит в грид ВСЕ элементы справочника, а не только из выбранной ветке. Алексей, точно такой же режим поиска у меня реализован в тривью. Человек набирает часть название, а контрол отображает ему то, что подходит под то что он ввел, одновременно раскрывая необходимые группы. ПРичем установкой одной галочки поиск может осуществляться как с начала строки, так и внутри строки. Также пожно ввести строку поиска и отобразить ТОЛЬКО ТО что подходит под критерии поиска (ну например набираешь слово компрессор а он может находиться в разных группах и быть разных типов компрессоры). Так что это все просто вопрос реализации. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
13.11.2008, 05:42
|
|||
---|---|---|---|
|
|||
Multi columm treeview (treeview + grid) |
|||
#18+
Aleksey-K, я вот решил показать скриншот как это работает В правом верхнем углу - поле поиска. Если убрать галку "показывать только найденное" то идет поиск в реальном времени когда набираешь слово. Если ее поставить появляется кнопочка поиска нажимая которрую получаешь в тривью все записи подходящие под условие. Они подсвечены зеленым. ... |
|||
:
Нравится:
Не нравится:
|
|||
|
|
start [/forum/topic.php?fid=41&tablet=1&tid=1587004]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
84ms |
get topic data: |
14ms |
get forum data: |
3ms |
get page messages: |
70ms |
get tp. blocked users: |
2ms |
others: | 369ms |
total: | 572ms |
0 / 0 |