powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Multi columm treeview (treeview + grid)
82 сообщений из 82, показаны все 4 страниц
Multi columm treeview (treeview + grid)
    #35645434
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Назрела насущная необходимость в многоколончатом treeview. Кто что использует для этого? Может кто нить посоветует готовый контрол? Облазил полинтернета не могу найти ничего подходящего.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35645472
homik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сходите на
http://foxclubmagazine.foxhelp.ru/mi0810.aspx
Там есть пример листвью с отступами.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35645904
hjhjjhjh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35645937
homik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дороговато будя :
авторSingle Developer License: $399 Upgrade from version 6.0: $239 /developer Multi-Developer Licenses:
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35645959
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Хорошая штука. НО дороговато все же.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35646671
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бесплатных вы не найдете (если только ломаные). Просто потому, что на практике это почти бесполезная вещь. Как и дерево вообще. Поигрался и бросил. Она красиво выглядит, но работать с ней трудно. Трудно для пользователя. Особенно, если много узлов.

Как правило, делают все-таки два объекта: оглавление (TreeView) и содержание (Grid). Причем содержание можно делать на базе PageFrame, чтобы можно было динамически менять структуру Grid в зависимости от типа узла или уровня вложенности. Отдельные Grid на каждой странице PageFrame и активизация страниц по необходимости.

Возможно, если вы опишите задачу, для решения которой, как вам кажется, нужен именно многоколоночный Grid, вам подскажут можно ли решить задачу другими способами.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35648087
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМБесплатных вы не найдете (если только ломаные). Просто потому, что на практике это почти бесполезная вещь. Как и дерево вообще. Поигрался и бросил. Она красиво выглядит, но работать с ней трудно. Трудно для пользователя. Особенно, если много узлов.

Как правило, делают все-таки два объекта: оглавление (TreeView) и содержание (Grid). Причем содержание можно делать на базе PageFrame, чтобы можно было динамически менять структуру Grid в зависимости от типа узла или уровня вложенности. Отдельные Grid на каждой странице PageFrame и активизация страниц по необходимости.

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

ну насчет дерева я не соглашусь. у нас написано несколько классов на основе TreeView к нему прикручен поиск и куча разных фишечек. все работает просто замечаетльно и удобно, тем более у нас куча древовидных справочников. Все эти танцы с бубном с изменением грайда по нодеклику или там создание дополнительных текстбоксов и комбо уже давно оттанцованы и пройдены. именно поэтому и пришло понимание необходимости многоколончатого тривью. Он используется в очень многих приложениях и весьма успешно. с его помощью интерфейс упрощается в разы.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35649528
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы пользователей-то спрашивали? Если вам кажется , что с объектом работать удобно, то это только потому, что вы уже "смотреть на него не можете".

Также не следует спрашивать у опытных пользователей, давно работающих с вашей системой. У них те же проблемы. "Глаз замылился".

Качество интерфейса определяется "обучаемостью" нового персонала. Как быстро новый пользователь научится находить нужную информацию. Сколько времени он будет тратить на этот процесс.

Главный недостаток работы с деревом - сложность поиска нужных данных. Вы вынуждены создавать паралельную, дублирующую, систему навигации и поиска. Т.е. смотрим "картинку" TreeView, но реальная работа происходит в "плоских" таблицах и списках.

И возникает вопрос: а зачем этот TreeView вообще нужен, если основная работа происходит вне этого объекта? Даже та работа, для которой он вроде бы и создавался - облегчение поиска и навигации. Не облегчает TreeView ни поиска, ни навигации. Только усложняет.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35649836
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМВы пользователей-то спрашивали? Если вам кажется , что с объектом работать удобно, то это только потому, что вы уже "смотреть на него не можете".

Также не следует спрашивать у опытных пользователей, давно работающих с вашей системой. У них те же проблемы. "Глаз замылился".

Качество интерфейса определяется "обучаемостью" нового персонала. Как быстро новый пользователь научится находить нужную информацию. Сколько времени он будет тратить на этот процесс.

Главный недостаток работы с деревом - сложность поиска нужных данных. Вы вынуждены создавать паралельную, дублирующую, систему навигации и поиска. Т.е. смотрим "картинку" TreeView, но реальная работа происходит в "плоских" таблицах и списках.

И возникает вопрос: а зачем этот TreeView вообще нужен, если основная работа происходит вне этого объекта? Даже та работа, для которой он вроде бы и создавался - облегчение поиска и навигации. Не облегчает TreeView ни поиска, ни навигации. Только усложняет.

Мы занимаемся разработкой пользовательских интерфейсов уже лет 15 и почти всеэто время в фокспро, начиная с 2.0. За это время было перепробовано много всего. в результате проб и ошибок наработано определенное количество классов в приемов построения интерфейсов. Назови мне такое приложение, где бы использовались ПЛОСКИЕ справочники. У нас специфика такова что ВСЕ справочники имеют древовидную структуру (то есть, побиты на группы, причем уровень вложенности групп может быть очень разный). Теперь подскажи мне способ отображать древовидные структуры лучше, чем это делает тривью. Что касается поиска, то, по моему, я говорил - поиск интергрирован прямо в класс,которому передается таблица определенной структуры. Поиск контекстный и очень быстрый. Если Вы считаете, что тривью не ускоряет ни навигации ни поиска, то я, исходя из своего опыта, считаю обратное. И не только я. Сейчас нет ни одной крупной программы, которая могла бы обойтись без тривью.
А вообще разговор не о том. Мне нужен определенный контрол и я знаю КАК и ЗАЧЕМ его использовать. ВОпрос стоит, что либо разрабатывать его самостоятельно, либо использовать что-то, что уже кто-то разработал. но то, что он нужен и я буду его использовать у меня сомнений нет.
Кстати, если интересно классом могу поделиться. Правда не уверен, что выберу время чтобы хорошенько его задокументировать, тем более что там используется несколько классов, каждый из которых может быть использован самостоятельно.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35649878
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gendrive,
милости просим, FoxClub , делитесь, а практика и время вас/нас рассудят.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650049
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gendrive

Вы настолько привыкли использовать TreeView, что просто не видите других способов организации данных.

Есть запись, у нее есть реквизиты (поля). Например, признак группы. Хотите "дерево"? Добавьте еще один реквизит (поле) - подгруппа. И какие проблемы вывести это как линейный список? Это один из вариантов. Можно еще использовать связанные таблицы (один уровень - одна таблица). Есть и другие варианты. Более того, есть другие принципы организации работы.

Неопределенное количество уровней вложенности - это либо ошибка проектирования, либо специфическая область деятельности. Да и то, во втором случае, использование TreeView, как правило, служит не для поиска, а для наглядного представления некой отдельной (небольшой) структуры.

TreeView для поиска не приспособлен. Он вообще этого не умеет. Никак. Классический пример - проводник Windows. Иерархия директорий, каталогов, папок.

Вы сели за чужой компьютер. Вы не знаете где именно, в какой папке, находится нужный вам файл. Как вы будете осуществлять поиск с помощью дерева? Очевидно, просто тупо открывая ВСЕ ветки. Т.е. вообще ВСЕ. У вас нет других вариантов. Какое уж тут ускорение...

А как же поиск? А поиск файла, осуществляется в линейном списке! Результат поиска - это линейный список БЕЗ дерева.

Другими словами, поиск осуществляется ВНЕ идеологии древовидной струкутры. И только ПОСЛЕ окончания поиска вы делаете обратное преобразование. На основании найденной информации достраиваете иерархию.

Получается двойное преобразование - из дерева в линейный список, затем поиск в этом линейном списке, затем преобразование результата в дерево. И зачем тут вообще нужно дерево? Почему бы не выбросить этот явно лишний элемент?

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

Впрочем, вы уже не в состоянии сделать что-то другое. Вам мешает наработанный FrameWork. Теперь уже не вы разрабатываете интерфейс, а созданный FrameWork диктует вам принципы работы. Вы вынуждены подстраиваться под существующую систему и ее интерфейс. Без вариантов.

Собственно, поэтому можете не обращать внимание на все ранее сказанное. Даже если вы и захотите, вы не сможете это все применить на практике. Созданный FrameWork не позволит.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650370
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gendrive
Мы занимаемся разработкой пользовательских интерфейсов уже лет 15 и почти всеэто время в фокспро, начиная с 2.0. За это время было перепробовано много всего. в результате проб и ошибок наработано определенное количество классов в приемов построения интерфейсов. Назови мне такое приложение, где бы использовались ПЛОСКИЕ справочники. У нас специфика такова что ВСЕ справочники имеют древовидную структуру (то есть, побиты на группы, причем уровень вложенности групп может быть очень разный). Теперь подскажи мне способ отображать древовидные структуры лучше, чем это делает тривью. Что касается поиска, то, по моему, я говорил - поиск интергрирован прямо в класс,которому передается таблица определенной структуры. Поиск контекстный и очень быстрый. Если Вы считаете, что тривью не ускоряет ни навигации ни поиска, то я, исходя из своего опыта, считаю обратное. И не только я. Сейчас нет ни одной крупной программы, которая могла бы обойтись без тривью.

Да.. интересный спор. Могу тоже подать свой голос к мнению ВладимирМ. Не считал, сколько лет уже занимаюсь разработкой программного обеспечения, но, как говорится, "Я уже столько забыл, сколько вы еще не знаете". Это шутка. А если серьезно, то, конечно, смотрятся иерархические справочники красиво. Собственно говоря, у нас в системы тоже почти все справочники иерархические.
Но вот какая штука получилась.. Для ввода данных в справочник (операция не очень частая, согласитесь) иерархия помогает. Модно не торопясь найти нужную группу элемента и добавить в нее новый элемент. Но вот когда операционист использует такой справочник для выбора нужного элемента при оформлении документа (например, приходный ордер), то оказалось, что ему (операционисту) удобнее (т.к. значительно быстрее) иметь общий список всех элементов справочника в виде грида и хорошее средство для поиска (отбора) нужного элемента в этом гриде. Наблюдения показали, что опытный операционист НИКОГДА не использует, сначала выбор в "дереве" нужной группы в иерархии элементов, а потом, сам поиск элемента. Он ПОМНИТ ключевые параметры нужно элемента (название, код и пр.) и использует их для поиска в "плоском" гриде. Нам в системе даже пришлось добавить на формы выбора элементов справочника опцию ("искать в подгруппах"), которая выводит в гриде элементы ВСЕХ подуровней "дерева", т.е., фактически, отключает "дерево" и выводит в грид ВСЕ элементы справочника, а не только из выбранной ветке.
На картинке показан пример использования такого режима выбора элемента справочника:
Операционист примерно знает код элемента справочника (или его название) и начинает его вводить в поле кода. Грид начинает фильтровать по введенному коду и уменьшает выборку на экране. Операционист НЕ ХОЧЕТ выбирать группу в дереве. Он использует фильтрацию только в гриде. Мышкой он (опытный операционист) практически не пользуется и весь поиск нужного элемента занимает времени значительно быстрее, чем, если бы он сначала в дереве нашел нужную группу, а затем уже и сам элемент. Не очень опытный пользователь использует поначалу "дерево" для поиска элемента, но очень быстро, как мы заметили, он переходит в режим "отображения из всех подгрупп" и поиска в гриде.
С уважением, Алексей
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650405
Завидую
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А мои пользователи вообще не хотят искать нигде: не в дереве, не в списке, не в гриде.
Так и вводят каждый раз новое значение.

Последняя идея - сделать ввод нового значения более трудным, чем его поиск.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650417
BlackFoxx
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мне кажется будет проще поколдовать с гридом (поиграть подсветкой различных строк, добавить кнопочки с плюсиками и минусиками и т.д.) и сделать из него некое подобие дерева. Нежели пытаться воткнуть грид в дерево.
В этом случае открывается большой простор для творчества. А дерево - слишком ограниченный элемент. Грид на порядок гибче.
А вообще, я несколько раз пытался вписать дерево в различные программы. И каждый раз убирал его. Потому что упирался в ограниченость его функционала. Красиво ? Безусловно. У юзеров слюнки текли от восторга, когда видели раскрывающееся дерево (особенно завораживал процесс на медленных компах). Но дальше красоты дело не шло. Про поиск уже писали - получается двойная работа. Так что в дереве больше понтов, чем реальной помощи для юзера.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650494
Фотография Валентин Н.Карелин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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, но, видимо, во всём должен быть разумный предел...
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650516
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Владимир, я ОЧЕНЬ попрошу вас, не вести разговор в таком ключе. Мы все здесь всказываем свои мнения и пришли на форум не для того чтобы нас УЧИЛИ как жить дальше и указывали на наши недостатки, а для обсуждения неких вопросов. Если кроме психологии (ну там привыкли и все аткое) других аргументов нет, то наверное эти лучше опустить. ТЕперь по порядку.

ВладимирМ Gendrive

Вы настолько привыкли использовать TreeView, что просто не видите других способов организации данных.

Тривью мы используем всего пару лет. Просто до этого, так же как и у большинства кто здесь пишет, руки не доходили толком разобраться в его функциональности и приемах работы с ним. Часто можно слышать упреки тривью в том что он медленно заполняется например. В моем классе ПОЛНОЕ заполнение тривью с порядка 10000 узлов происходит 2-3 секунды. причем это стандартный тривью.

ВладимирМ
Есть запись, у нее есть реквизиты (поля). Например, признак группы. Хотите "дерево"? Добавьте еще один реквизит (поле) - подгруппа. И какие проблемы вывести это как линейный список? Это один из вариантов. Можно еще использовать связанные таблицы (один уровень - одна таблица). Есть и другие варианты. Более того, есть другие принципы организации работы.


Отобразить плоские данные в тривью без проблем. А вот попробуй сделать обратное в гриде. Потому то я и ищу контрол, который бы объединял функциональность грида и тривью. Ибо в нем я могу отображать и плоскую структуру и древовидную.

ВладимирМ
Неопределенное количество уровней вложенности - это либо ошибка проектирования, либо специфическая область деятельности. Да и то, во втором случае, использование TreeView, как правило, служит не для поиска, а для наглядного представления некой отдельной (небольшой) структуры.


Мне кажется, что тебе нужно отучаться говорить категорично. Простой пример - справочник материалов. Ну ка запроектируй его мне с ОПРЕДЕЛЕННЫМ количеством уровней вложенности? Или справочник проектов и работ. Ты когда нить видел Primavera например?

ВладимирМ
TreeView для поиска не приспособлен. Он вообще этого не умеет. Никак. Классический пример - проводник Windows. Иерархия директорий, каталогов, папок.


Если ТЫ не умеешь этого делать, то не значит что этого не может делать никто.

ВладимирМ
Вы сели за чужой компьютер. Вы не знаете где именно, в какой папке, находится нужный вам файл. Как вы будете осуществлять поиск с помощью дерева? Очевидно, просто тупо открывая ВСЕ ветки. Т.е. вообще ВСЕ. У вас нет других вариантов. Какое уж тут ускорение...


а рядышком нажать копочку поиск религия не позволяет?

ВладимирМ
А как же поиск? А поиск файла, осуществляется в линейном списке! Результат поиска - это линейный список БЕЗ дерева.

Другими словами, поиск осуществляется ВНЕ идеологии древовидной струкутры. И только ПОСЛЕ окончания поиска вы делаете обратное преобразование. На основании найденной информации достраиваете иерархию.


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

ВладимирМ
Получается двойное преобразование - из дерева в линейный список, затем поиск в этом линейном списке, затем преобразование результата в дерево. И зачем тут вообще нужно дерево? Почему бы не выбросить этот явно лишний элемент?


Опять же нет никаких преобразований. Таблица передаваемая в тривью содержит все идентификаторы. поиск осуществялется по ней. а знаяю ключ узла отобразить его в тривью дело пары миллисекунд.

ВладимирМ
Впрочем, вы уже не в состоянии сделать что-то другое. Вам мешает наработанный FrameWork. Теперь уже не вы разрабатываете интерфейс, а созданный FrameWork диктует вам принципы работы. Вы вынуждены подстраиваться под существующую систему и ее интерфейс. Без вариантов.

Собственно, поэтому можете не обращать внимание на все ранее сказанное. Даже если вы и захотите, вы не сможете это все применить на практике. Созданный FrameWork не позволит.

Еще раз. отучаемся говорить категорично и пытаться оценивать других пользуясь своим опытом. Если ты НЕ НАУЧИЛСЯ использовать что-то, то это совсем не значит что это использовать невозможно и вредно. Есть волшебное слово "ИМХО" . Есть различные мнения и от того что оно твое оно вовсе не становится истиной в последней инстанции.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650520
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валентин Н.Карелин,

Насчет скорости заполнения. Да она оставляет желать лучшего. Но, попробуй перед заполнением сделать тривью visible = .F. удивишься насколько возрастет скорость заполнения. ВО всяком случае работа в пределах первого дестяка тысяч узлов вполне себе комфортна.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650521
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AleksMedGendrive,
милости просим, FoxClub , делитесь, а практика и время вас/нас рассудят.

постараюсь создать краткое описание классов и выложить.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650533
Фотография Валентин Н.Карелин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
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 секунды, я снимаю шляпу... Без преувеличения говорю...

Мнение господина ВладимираМ о сложности поиска нужных данных, паралельной, дублирующей, системе навигации и поиска и пр... и пр... не разделяю. Хотя оно тоже имеет право на существование. Все навигационно-поисковые функции описаны на сайте Шутенко, вдоль и поперёк....
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650534
Фотография Валентин Н.Карелин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валентин Н.Карелин3,000 записей - 19 секунд... Это долго...

Правда дерево вышло 5-ти уровневое и рекурсии использовались... Но база, с точки зрения дерева, была построена бездарно ...
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650541
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валентин Н.Карелин,

в результате экспериментов я выяснил, что даже если форма не отображается, но у тривью визибл стоит .Т. то оно все равно пытается заниматься визуальной перерисовкой. А вот если ему выключить видимость, то скорость возрастает в разы. попробуй.
По поводу баз данных. У нас все процедуры на SQL заточены под то, чтобы СРАЗУ выдавать таблицу с определенной структурой. В частности, в ней обязаны быть поля ID, Parent_ID, Descr. Есть еще опциональные поля в таблице: isFolder, Color_ID, Icon_ID еще какие то. классу передается только эта таблица и уже на базе ее он сам строит деерво со всеми рюшечками. Поиск тоже внутри класса - ищет сразу внутри таблицы и отбражает в дереве. То есть, я думаю, тебе подготовку данных нужно осуществлять ДО ТОГО как ты начнешь строить дерево.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650544
Фотография Валентин Н.Карелин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GendriveТо есть, я думаю, тебе подготовку данных нужно осуществлять ДО ТОГО как ты начнешь строить дерево.

А я так и делаю... Свои базы я проектирую с учётом их дальнейшего древовидного представления

Gendriveв результате экспериментов я выяснил, что даже если форма не отображается, но у тривью визибл стоит .Т. то оно все равно пытается заниматься визуальной перерисовкой. А вот если ему выключить видимость, то скорость возрастает в разы. попробуй.

А вот это хорошая мысль... Попробую...
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650546
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Валентин Н.Карелин,

щас лишний раз проверил. Запуск скомпилированного приложения (справочник материалов) от момента запуска EXE до отображения окна с получением данныс с SQL (причем не просто получение а выборка их там из еще большего справочника (1сv8 SQL) и обработкой их там и заполнением тривью, количество нодов чуть меньше 4 с половиной тысяч (точно - 4440 узлов) занимает около 5 секунд. Как это выглядит видно на приложенном файле. причем вся эта форма по сути один класс просто брошенный на форму.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650564
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksey-K
Но вот какая штука получилась.. Для ввода данных в справочник (операция не очень частая, согласитесь) иерархия помогает. Модно не торопясь найти нужную группу элемента и добавить в нее новый элемент. Но вот когда операционист использует такой справочник для выбора нужного элемента при оформлении документа (например, приходный ордер), то оказалось, что ему (операционисту) удобнее (т.к. значительно быстрее) иметь общий список всех элементов справочника в виде грида и хорошее средство для поиска (отбора) нужного элемента в этом гриде. Наблюдения показали, что опытный операционист НИКОГДА не использует, сначала выбор в "дереве" нужной группы в иерархии элементов, а потом, сам поиск элемента. Он ПОМНИТ ключевые параметры нужно элемента (название, код и пр.) и использует их для поиска в "плоском" гриде. Нам в системе даже пришлось добавить на формы выбора элементов справочника опцию ("искать в подгруппах"), которая выводит в гриде элементы ВСЕХ подуровней "дерева", т.е., фактически, отключает "дерево" и выводит в грид ВСЕ элементы справочника, а не только из выбранной ветке.


Алексей, точно такой же режим поиска у меня реализован в тривью. Человек набирает часть название, а контрол отображает ему то, что подходит под то что он ввел, одновременно раскрывая необходимые группы. ПРичем установкой одной галочки поиск может осуществляться как с начала строки, так и внутри строки. Также пожно ввести строку поиска и отобразить ТОЛЬКО ТО что подходит под критерии поиска (ну например набираешь слово компрессор а он может находиться в разных группах и быть разных типов компрессоры). Так что это все просто вопрос реализации.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650565
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksey-K,
я вот решил показать скриншот как это работает
В правом верхнем углу - поле поиска. Если убрать галку "показывать только найденное" то идет поиск в реальном времени когда набираешь слово. Если ее поставить появляется кнопочка поиска нажимая которрую получаешь в тривью все записи подходящие под условие. Они подсвечены зеленым.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650681
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GendriveAleksey-K,
я вот решил показать скриншот как это работает
В правом верхнем углу - поле поиска. Если убрать галку "показывать только найденное" то идет поиск в реальном времени когда набираешь слово. Если ее поставить появляется кнопочка поиска нажимая которрую получаешь в тривью все записи подходящие под условие. Они подсвечены зеленым.
Такой вариант поиска только в "дереве" был когда-то попробован и .... через некоторое время отвергнут по нескольким причинам:
1. Скорость - Поиск в курсоре и отображение в гриде по скорости существенно выше, чем поиск по дереву и отображение в нем при большом объеме данных.
2. Нахождение искомого элемента справочника на разных уровнях дерева вынуждает пользователя менять фокус взгляда. При частой операции у пользователей накапливается раздражение и нам пришлось отказаться от дерева. В гриде при отборе взгляд всегда направлен на одно место - первая строка.
С уваженимем, Алексей.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650726
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksey-K,

а ты думаешь что я ищу в самом тривью? Зачем я буду это делать, если существует прекрасный и быстрый механизм поиска - фокспро? ПОиск происходит в курсоре потом просто отображается в тривью.
Насчет взгляда - если осуществляется мгновенный поиск по введенным символам, то узел тоже всегда остается на одном месте.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650778
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gendrive
а ты думаешь что я ищу в самом тривью? Зачем я буду это делать, если существует прекрасный и быстрый механизм поиска - фокспро? ПОиск происходит в курсоре потом просто отображается в тривью.

Я не думаю, я знаю, что ты именно так и ищешь: сначала по курсору, а потом по дереву (наверное по ключу нода), т.е. дважды ищешь, а я ищу один раз - только по курсору.
Gendrive
Насчет взгляда - если осуществляется мгновенный поиск по введенным символам, то узел тоже всегда остается на одном месте.
Поясни, что такое мгновенный поиск и главное, как ты в дереве делаешь так, что искомый NODE будет в том же месте, где у тебя сейчас курсор (на другом ноде)? А если искомый нод в свернутой ветке?
Да ладно.. Я ведь никого не уговариваю. Мы решили в свое время отказаться от дерева как инстумента ВЫБОРА элемента (но не ввода). Если ваши заказчики не жалуются на поиск по дереву, что у них глаза устают от мельтешения дерева, то хорошо, а наши вот заставили нам переделать поиск по "плоскому" гриду.
С уважением, Алексей
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650988
AleksMed
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GendriveAleksey-K,

а ты думаешь что я ищу в самом тривью? Зачем я буду это делать, если существует прекрасный и быстрый механизм поиска - фокспро? ПОиск происходит в курсоре потом просто отображается в тривью.
Насчет взгляда - если осуществляется мгновенный поиск по введенным символам, то узел тоже всегда остается на одном месте.
Так Володя Максимов как раз про это и написал, причем корректно и с павильными выводами в конце. :)
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35650999
Фотография Валентин Н.Карелин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-Kкак ты в дереве делаешь так, что искомый NODE будет в том же месте, где у тебя сейчас курсор (на другом ноде)? А если искомый нод в свернутой ветке?

aaa - id Node, всегда известный на момент построения дерева

Form.OleTree.Nodes(aaa).Selected = .T.
Form.OleTree.Nodes(Form.OleTree.Nodes(aaa).Index).EnsureVisible()
(ну нравится мне в полной форме)

Первое устанавливает курсор на искомый Node и распахивает родительские узлы, второе - визуально позиционирует дерево на распахнутом Node (если он за пределами списка Nodes). И всё... Работает мгновенно.

Т.е. ситуацию, когда корректировка БД приводит к изменению Nodes.Text и его положению в узлах я решаю этим способом. Text изменился, узел, возможно тоже (может понадобится ещё и Form.OleTree.Nodes.Remove(index/key)), оккорректированный Node получил фокус, а TreeView - Scrolling (если надо). Т.е. каждый получил своё! )))

p.s.: А не шуточный тут диспут... Прям, научный... ))) Gendrive всколыхнул пласты сообщества... ))) Я уж лет 10-ть не участвовал... Даже молодость вспомнил )))
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35651099
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валентин Н.Карелин

aaa - id Node, всегда известный на момент построения дерева

Form.OleTree.Nodes(aaa).Selected = .T.
Form.OleTree.Nodes(Form.OleTree.Nodes(aaa).Index).EnsureVisible()
(ну нравится мне в полной форме)
Первое устанавливает курсор на искомый Node и распахивает родительские узлы, второе - визуально позиционирует дерево на распахнутом Node (если он за пределами списка Nodes). И всё... Работает мгновенно.
1. Ну насчет того, что работает мгновенно, когда у вас десятки тысяч Node я не уверен, но сам не проверял.
2. И вы хотите сказать, что визуально искомый нод будет на том месте экрана, где у вас курсор при поиске? Что-то не очень верится. А если у вас искомый нод уже на экране, но не выбран, то с какой стати у вас "продернется" дерево, а не просто фокус переведется на этот нод ?
Из приведенного кода, во всяком случае, это никак не слудует.
С уважением, Алексей
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35651717
Фотография Валентин Н.Карелин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Aleksey-K1. Ну насчет того, что работает мгновенно, когда у вас десятки тысяч Node я не уверен, но сам не проверял.
А у меня и нет TreeView на десятки тысяч Node... Вообще-то, это не я утверждал о мгновенности работы в TreeView на десятки тысяч Node. Я как раз выражал озабоченность о скорости построения дерева на 50,000 узлов (посмотрите начало)

Aleksey-K2. .... А если у вас искомый нод уже на экране, но не выбран, то с какой стати у вас "продернется" дерево, а не просто фокус переведется на этот нод ? Из приведенного кода, во всяком случае, это никак не слудует..
"А если у нас" Node уже на экране , то он только получит фокус...
.EnsureVisible() не передёрнет его. Но EnsureVisible() я вставляю потому что не знаю где этот Node может оказаться. Над экраном (тогда UpScrolling), или под экраном (тогда DownScrolling). Если же он на экране, - передёргивания не происходит.

Я это использыю при добавлении в справочник, - никогда не известно, что взбредёт добавить в голову юзверу. А список может быть значительным, и Node добавляется у меня не в конец ветки , а согласно "купленному билету", т.е. согласно правилам позиционирования по алфавиту . TreeView перепозиционируется (Scroll) на новый Node и юзер сразу видит, что он добавил в дерево, а также какие значения полей он добавил в новом Node...

p.s.: Блин, прямо симпозиум древоведов...
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35651780
Фотография Валентин Н.Карелин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, господа!

А ведь никто толком не ответил на вопрос Gendrive, с которого и начался весь этот курултай... А ведь человек то спрашивал не о том, хорош ли TreeView, насколько хорош, иль вообще плох... Я думаю он сам это знает лучше нас всех!..

Вопрос то был "Multi columm treeview". Но как и мне лет 5-6 назад никто и не ответил... Тоже ушли в сторону бичевания-восхваления TreeView.

Господа! Знаете ответ о Multi columm treeview - отвечайте, нет - проходите мимо! Мне кажется так правильно...
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35651811
5631
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валентин Н.Карелин p.s.: Блин, прямо симпозиум древоведов...

Давно научно доказано, что во время споров в Интернете:

-никто не читает полностью сообщения других участников спора
-каждый слышит только свою точку зрения
-не одна из точек зрения никогда не побеждает
-все в конечном итоге заканчивается взаимными оскорблениями.

Поэтому Владимир Максимов правильно сделал, перейдя сразу
к последнему пункту и закончив спор.

...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35652901
Beresnev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я использую ctTree 6.0 от DBI Technologies Inc.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35653294
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksey-K
Я не думаю, я знаю, что ты именно так и ищешь: сначала по курсору, а потом по дереву (наверное по ключу нода), т.е. дважды ищешь, а я ищу один раз - только по курсору.

Алексей, все дело в том, что в тривью искать НЕ НАДО. Если ты знаешь ключ узла, который как раз находится в курсоре в котором осуществляется поиск, то переход к этому узлу делается мгновенно. Делаешь на этот узел селект и ensurevisible и все. При заполненном дереве это работает очень быстро.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35653295
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Aleksey-K
1. Ну насчет того, что работает мгновенно, когда у вас десятки тысяч Node я не уверен, но сам не проверял.


Самый длинный процесс в данном случае это заполнение тривью. ПОсле того как оно заполнено, переход по узлам осуществляется очень быстро, даже при большом количестве узлов.

Aleksey-K
2. И вы хотите сказать, что визуально искомый нод будет на том месте экрана, где у вас курсор при поиске? Что-то не очень верится. А если у вас искомый нод уже на экране, но не выбран, то с какой стати у вас "продернется" дерево, а не просто фокус переведется на этот нод ?
Из приведенного кода, во всяком случае, это никак не слудует.


Здесь не все так просто, на самом деле. Узел МОЖЕТ оказаться не на том самом месте, где был курсор на предыдущем узле. НО это достаточно просто решается, насколько я помню. Я просто не заморачивался этим, но думаю вопрос нескольких строчек кода в классе.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35653377
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
BeresnevЯ использую ctTree 6.0 от DBI Technologies Inc.

Купленный?
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35655352
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gendrive

Я все-таки дополню, но не по поводу дерева, а по способу ведения дискуссии.

Прежде чем отвечать на отдельное предложение прочитай ВСЕ сообщение. Возможно, ты все-таки увидишь разъяснение смысла чуть ниже.

Посмотри на ту "лапшу", что ты нарезал на мой последний ответ. Практически на каждое твое замечание идет опровержение в следующем моем предложении и ты вынужден разворачиваться на 180 градусов. Это еще в том случае, если ты отвечаешь "в тему". Но зачастую, ты отвечаешь "мимо" (не по теме), даже на выдернутые из контекста предложения.

Собственно, ты просто не захотел понять смысл моего ответа. Впрочем, Aleksey-K на примерах разъяснил то, что я сказал, а ты не захотел понять.

Вопрос ведь вовсе не в том, как сделать то или другое программно. Вопрос в том, как это воспринимает пользователь. Насколько он способен удобно и быстро работать.

И еще, постарайся не делать скоропалительных выводов о том что другие смогли или не смогли.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35685719
Parnisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Вовочка если ты чегото недоганяеш то это не означает что люди мимо говорять)))) TRFM - а не задавай тупые вопросы))) ты бы ещё про скорость доступа к разным ячейкам в ОЗУ где межит дата к гриду или к тривью))))) ну паржал))) аффтар пиши исчо)
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35686807
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ParnishaВовочка если ты чегото недоганяеш то это не означает что люди мимо говорять)))) TRFM - а не задавай тупые вопросы))) ты бы ещё про скорость доступа к разным ячейкам в ОЗУ где межит дата к гриду или к тривью))))) ну паржал))) аффтар пиши исчо)
Кстати, да. На милионниках часто становится критичным то, что у тебя в памяти болтаются данные как в TreeView, так и в курсоре. Причем, если в TreeView за свопинг отвечает только операционка, то фокс еще и сам пытается буферизировать на диск. Полный бардак и неизлечимый тормоз получается.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35687166
Фотография CcRaZzY
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ParnishaВовочка если ты чегото недоганяеш то это не означает что люди мимо говорять)))) TRFM - а не задавай тупые вопросы))) ты бы ещё про скорость доступа к разным ячейкам в ОЗУ где межит дата к гриду или к тривью))))) ну паржал))) аффтар пиши исчо)

И вот послышался лай Моськи на слона ))

Имейте хотя бы мужество писать подобные посты от своего имени.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35688601
Гулин Федор
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хоть я уже и не пишу на фоксе
тоже придерживаюьс точки зрения что деревья это усложнение
так как минимум требуется регистрация ocx на ПК юзеров что может быть не доступно
по каким то причинам
по крайне мере для работы операцианистов -
зы возможно моя аудитаория юзеров (типа кладовщик) была такой что я даже и не пытался
к тому же в гриде у меня поиск был по любому текущему полю а в три может и можно как то но я не уверен
хотя вообще это делов вкуса и фреймворка

есть 1 момент где я вижу можно заюзать эту идею - типа если отчеты делать для начальства (аналитика) такой примитивный BI там да - деревья по иерерахиям очень удобоны -
чтобы таскать - в многих BI системах собственно так и сделано

а вот ?
я не понял для чего надо то от Multi columm treeview
может скриншот кто приведет инетересно глянуть как он юзается
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35688736
Parnisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
CcRaZzYParnishaВовочка если ты чегото недоганяеш то это не означает что люди мимо говорять)))) TRFM - а не задавай тупые вопросы))) ты бы ещё про скорость доступа к разным ячейкам в ОЗУ где межит дата к гриду или к тривью))))) ну паржал))) аффтар пиши исчо)

И вот послышался лай Моськи на слона ))

Имейте хотя бы мужество писать подобные посты от своего имени.

может тебе ещё и паспортные данные))) я вобщето не месный, и на фоксе никогда не писал)) имейте моск уважаемый, почитайте внимательно посты, подумайте... если не выйдет ещё раз подумайте))) после проводите ассоциации мосек и слонов))

ЗЫ: Просто реальный гон я невыжержал)) некомпетентность с "умным видом" меня просто бесит)
Читайте доки господа) а если речь идёт о чёмто вам вовсе не ясном или немного ясном, или вы так думаете что всё знаете..... но это может быть нетак)))
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35688760
Parnisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kruchinin PahanParnishaВовочка если ты чегото недоганяеш то это не означает что люди мимо говорять)))) TRFM - а не задавай тупые вопросы))) ты бы ещё про скорость доступа к разным ячейкам в ОЗУ где межит дата к гриду или к тривью))))) ну паржал))) аффтар пиши исчо)
Кстати, да. На милионниках часто становится критичным то, что у тебя в памяти болтаются данные как в TreeView, так и в курсоре. Причем, если в TreeView за свопинг отвечает только операционка, то фокс еще и сам пытается буферизировать на диск. Полный бардак и неизлечимый тормоз получается.

ИМХО: Надо менять контролы, чтоб не грузили всю дату с БД сразу... или менять весь енвиропмент)

Удачи)
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35689448
fox_vik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Странный диспут. Что-то вроде: что лучше, велосипед или трактор?
Дерево предназначено для отображения структуры. Поэтому, если нужно видеть структуру, лучшего контрола я не знаю. А для операционистов, вводящих большой объем однородной информации даже мышка лишней будет, не говоря уж о дереве.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35689494
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Parnisha
ИМХО: Надо менять контролы, чтоб не грузили всю дату с БД сразу... или менять весь енвиропмент)

Вы путаете кислое с длинным. Я не про алгоритм наполнения данными, а про двукратное использование памяти одними и теми же данными.
А логика "что не вижу, то вычищаю", в общем случае, порочна.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35689504
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
AleksMedGendriveAleksey-K,

а ты думаешь что я ищу в самом тривью? Зачем я буду это делать, если существует прекрасный и быстрый механизм поиска - фокспро? ПОиск происходит в курсоре потом просто отображается в тривью.
Насчет взгляда - если осуществляется мгновенный поиск по введенным символам, то узел тоже всегда остается на одном месте.
Так Володя Максимов как раз про это и написал, причем корректно и с павильными выводами в конце. :)


Следуя этой логике (то что мол если поиск происходит в курсоре, а отображается в тривью и, на основании этого, тривью плохой) следует отказаться от телевизора. ведь действие происходит не в самом телевизоре, а где-то в другом месте. ПОэтому использование телевизора - порочная практика. надо сидеть в студии.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35689549
ПД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гулин Федор,

ну примерно так и выглядит
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35689705
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ПД,

а что это за контрол? можно попользоваться?
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35689797
Ffffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Parnisha Надо менять контролы, чтоб не грузили всю дату с БД сразу ... или менять весь енвиропмент)


А вы вообще программист?
Какое отношение тип контролов имеет к количеству данных?
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35690049
ПД
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Gendrive,

это ctTree, о котором упоминалось выше
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35690706
Parnisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kruchinin PahanParnisha
ИМХО: Надо менять контролы, чтоб не грузили всю дату с БД сразу... или менять весь енвиропмент)

Вы путаете кислое с длинным. Я не про алгоритм наполнения данными, а про двукратное использование памяти одними и теми же данными.
А логика "что не вижу, то вычищаю", в общем случае, порочна.

Я тоже не про алгоритм наполнения, а про саму работу контрола с данными, ведь он может не под два а под 1000000... экземпляров память выделять))) все беды от кривых рук)) ведь если не грузить сразу все данные, а только те что нужны для отображения то можно убрать свопинг но увеличить обращения к БД, либо просто добавить мозгов в тазик))) а как поступить это уже Вам виднее)


ЗЫ: Ну а если нельзя сделать кастыли для контрола стандартными средствами фокспро то тут уже надо менять весь енвиропмент и писать на джаве или сишарпе))) или на обджективси))..... хотя... нет ничего невозможного)))
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35690736
Parnisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ffffffffff,

1. вообще да, а ещё и аналитик\архитектор))
2. RTFM)))
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35690860
Kruchinin Pahan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ParnishaKruchinin PahanParnisha
ИМХО: Надо менять контролы, чтоб не грузили всю дату с БД сразу... или менять весь енвиропмент)

Вы путаете кислое с длинным. Я не про алгоритм наполнения данными, а про двукратное использование памяти одними и теми же данными.
А логика "что не вижу, то вычищаю", в общем случае, порочна.

Я тоже не про алгоритм наполнения, а про саму работу контрола с данными, ведь он может не под два а под 1000000... экземпляров память выделять))) все беды от кривых рук)) ведь если не грузить сразу все данные, а только те что нужны для отображения то можно убрать свопинг но увеличить обращения к БД, либо просто добавить мозгов в тазик))) а как поступить это уже Вам виднее)
Целиком приводите цитаты.
Kruchinin PahanА логика "что не вижу, то вычищаю", в общем случае, порочна.

Как вы любите все на железо спихивать. Мозгов в тазик, сетку нагрузить. Любые ресурсы имеют свойство заканчиваться.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35690911
valeryka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Parnisha,

http://alexputev.35photo.ru/photo_35385/
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35691373
Fffffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ParnishaFfffffffff,

1. вообще да, а ещё и аналитик\архитектор))
2. RTFM)))

И что там по этому поводу написано?
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35691518
Parnisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Kruchinin PahanParnishaKruchinin PahanParnisha
ИМХО: Надо менять контролы, чтоб не грузили всю дату с БД сразу... или менять весь енвиропмент)

Вы путаете кислое с длинным. Я не про алгоритм наполнения данными, а про двукратное использование памяти одними и теми же данными.
А логика "что не вижу, то вычищаю", в общем случае, порочна.

Я тоже не про алгоритм наполнения, а про саму работу контрола с данными, ведь он может не под два а под 1000000... экземпляров память выделять))) все беды от кривых рук)) ведь если не грузить сразу все данные, а только те что нужны для отображения то можно убрать свопинг но увеличить обращения к БД, либо просто добавить мозгов в тазик))) а как поступить это уже Вам виднее)
Целиком приводите цитаты.
Kruchinin PahanА логика "что не вижу, то вычищаю", в общем случае, порочна.

Как вы любите все на железо спихивать. Мозгов в тазик, сетку нагрузить. Любые ресурсы имеют свойство заканчиваться.


Не в ресурсах дело а в умении их юзать, железо как один из вариантов, читай внимательнее...
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35691525
Parnisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FffffffffParnishaFfffffffff,

1. вообще да, а ещё и аналитик\архитектор))
2. RTFM)))

И что там по этому поводу написано?

там всё написано, ели непонял... то это не ко мне))) а RTFM)
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35691603
Fffffff
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А с чем к тебе?
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35691756
Parnisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FffffffА с чем к тебе?

Попробуй чтото попроще)))
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35691859
FFFFFFFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Parnisha
Попробуй чтото попроще)))

...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35691886
FAM
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gendrive,

Моё мнение:

Вы наверное действительно увлеклись треями. Если бы Вам приходилось работать с крупными приложениями ( на 10-20 млн зап), Вы бы поняи, что искать нужно в линейном списке - как рекомендовал ВЛАДИМИР М. А для небольших прилад трей - просто маркетинговый ходд. Но уже давно не удобство.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35691934
Parnisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FAMGendrive,

Моё мнение:

Вы наверное действительно увлеклись треями. Если бы Вам приходилось работать с крупными приложениями ( на 10-20 млн зап), Вы бы поняи, что искать нужно в линейном списке - как рекомендовал ВЛАДИМИР М. А для небольших прилад трей - просто маркетинговый ходд. Но уже давно не удобство.

Искать можно везде))) и скорость поиска зависит от алгоритма поиска)

ЗЫ: Читаем Дональда Кнута и открываем для себя массу интересного))
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35691963
ParnishaИскать можно везде))) и скорость поиска зависит от алгоритма поиска)

А кто-то говорил обратное? С чем спорим?
[quot]
ЗЫ: Читаем Дональда Кнута и открываем для себя массу интересного))[/quot]
Да давно уже открыли. Только ведь речь то не об алгоритмах поиска, а об удобстве использования одного конкретного контрола - TreeView. Удобстве работы именно для пользователя. В частности при больших объемах данных и интенсивной работе или массовом вводе.
По этой теме есть что сказать?
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35692109
Parnisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.ParnishaИскать можно везде))) и скорость поиска зависит от алгоритма поиска)

А кто-то говорил обратное? С чем спорим?
[quot]
ЗЫ: Читаем Дональда Кнута и открываем для себя массу интересного))
Да давно уже открыли. Только ведь речь то не об алгоритмах поиска, а об удобстве использования одного конкретного контрола - TreeView. Удобстве работы именно для пользователя. В частности при больших объемах данных и интенсивной работе или массовом вводе.
По этой теме есть что сказать?[/quot]

На нашем продукте(ЦРМ) пользователи этим самым тривью очень довольны.
Насчёт мультиколумн тривью то я работал с оутлайнвью - удобная вещь, но это не фокспро и даже не винда)

ЗЫ:А ты наверно ВЛАДИМИР?)
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35692154
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FAMGendrive,

Моё мнение:

Вы наверное действительно увлеклись треями. Если бы Вам приходилось работать с крупными приложениями ( на 10-20 млн зап), Вы бы поняи, что искать нужно в линейном списке - как рекомендовал ВЛАДИМИР М. А для небольших прилад трей - просто маркетинговый ходд. Но уже давно не удобство.

Ребят, вообще кто нить читал топик а? А разве спрашивал кого-то про тонкости поиска и все такое? Мне просто нужен некий контрол. КАК и ЗАЧЕМ его использовать я знаю и так.
Если уж разговор идет о поиске, то поиск я осуществляю как раз в линейном списке, а ОТОБРАЖАЮ его в виде тривью. в чем проблема то?
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35692352
valeryka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 Parnisha,

авторНа нашем продукте(ЦРМ)

Уххх... страху нагнал
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35693850
Parnisha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
valeryka2 Parnisha,

авторНа нашем продукте(ЦРМ)

Уххх... страху нагнал

Не сцы http://www.sql.ru/forum/images/smoke.gif
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35693882
GendriveFAMGendrive,

Моё мнение:

Вы наверное действительно увлеклись треями. Если бы Вам приходилось работать с крупными приложениями ( на 10-20 млн зап), Вы бы поняи, что искать нужно в линейном списке - как рекомендовал ВЛАДИМИР М. А для небольших прилад трей - просто маркетинговый ходд. Но уже давно не удобство.

Ребят, вообще кто нить читал топик а? А разве спрашивал кого-то про тонкости поиска и все такое? Мне просто нужен некий контрол. КАК и ЗАЧЕМ его использовать я знаю и так.
Если уж разговор идет о поиске, то поиск я осуществляю как раз в линейном списке, а ОТОБРАЖАЮ его в виде тривью. в чем проблема то?
Вот тут идет продолжение.
Речь не о поиске. Речь о неудобстве сего контрола при интенсивной работе или массовом вводе.
И, возвращаяясь, к первоначальному вопросу, исходя из означенного неудобства, мало кто использует даже обычный TV, не говоря уж об многоколончатости или иных наворотах. И весь данный топик Вам пытаются сообщить именно это.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35694327
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.

Речь не о поиске. Речь о неудобстве сего контрола при интенсивной работе или массовом вводе.
И, возвращаяясь, к первоначальному вопросу, исходя из означенного неудобства, мало кто использует даже обычный TV, не говоря уж об многоколончатости или иных наворотах. И весь данный топик Вам пытаются сообщить именно это.

Объясни мне, чегоя не понимаю? Или люди пишущиена фокси знают какую-то секретную военную тайну, которую мне никто не сообщил?
Скажи,ты знаешь хоть одну серьезную программу, которая бы НЕ ИСПОЛЬЗОВАЛА тривью? Я не имею ввиду конкретный тривью, а какие нибудь из его разновидностей?
Ну пример. Мы очень плотно используем Primavera для управления проектами. там все построено на древовидных структурах. Вообще, ЛЮБАЯ информация в нашем мире, если она поддается структурированию, имеет фрактальную структуру. И, заметь, в моем исходном сообщении НИГДЕ не говорилось про массовый ввод. Мне необходимо отображать стурктурированную информацию, с возможностью поиска. вот и все.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35694517
FFFFFFFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GendriveСкажи,ты знаешь хоть одну серьезную программу, которая бы НЕ ИСПОЛЬЗОВАЛА тривью?

Excel, Word.

А если серьезно, то есть стандартные тулбоксы в FoxPro, Access-е.
В них же нет TreeView.

Не зря же он входит только в дополнительные контролы.

P.S.
Хотя тоже использую.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35694567
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
FfffffffGendriveСкажи,ты знаешь хоть одну серьезную программу, которая бы НЕ ИСПОЛЬЗОВАЛА тривью?

Excel, Word.

А если серьезно, то есть стандартные тулбоксы в FoxPro, Access-е.
В них же нет TreeView.

Не зря же он входит только в дополнительные контролы.

P.S.
Хотя тоже использую.

гы ;) ЛЮБАЯ программа использует FileOpenDialog ;) так что...
Тривью не совсем тривиальный контрол с точки зрения использования и действительно не совсем совпадает с идеологией плоских таблиц используемых в фокспро и, тем более, акцессе. НО любые организованные данные имеют струкруту дерева. а отображать структуру дерева без тривью не понимаю как ;)
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35694619
Gendriveа отображать структуру дерева без тривью не понимаю как ;)
Отображать и работать - две очень большие разницы. Так вот для работы TV неудобен. Для отображения - да сколько угодно.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35694634
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.Gendriveа отображать структуру дерева без тривью не понимаю как ;)
Отображать и работать - две очень большие разницы. Так вот для работы TV неудобен. Для отображения - да сколько угодно.

Ох блин... Это уже религиозный спор, по-моему. OS/2 vs Windows, C vs Pascal, TreeView vs Grid... что-тотипа этого...
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35694648
Gendriveпроходящий.Gendriveа отображать структуру дерева без тривью не понимаю как ;)
Отображать и работать - две очень большие разницы. Так вот для работы TV неудобен. Для отображения - да сколько угодно.

Ох блин... Это уже религиозный спор, по-моему. OS/2 vs Windows, C vs Pascal, TreeView vs Grid... что-тотипа этого...
Ничего подобного. Просто больше похоже на разговор слепого с глухим. Вам рассказывают про неудобства работы, Вы в ответ рассказываете про удобства отображения. :)
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35694802
r-ray
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
а в это время в 1С эта проблема уже давно решена. триггером переключается древовидная структура (иерархия) в грид (линейный список), и наоборот.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35694827
FFFFFFFF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
r-rayа в это время в 1С эта проблема уже давно решена. триггером переключается древовидная структура (иерархия) в грид (линейный список), и наоборот.

И не только в 1-С.
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35694849
Ffffffffr-rayа в это время в 1С эта проблема уже давно решена. триггером переключается древовидная структура (иерархия) в грид (линейный список), и наоборот.

И не только в 1-С.
И формы выбора/отбора из справочников там совсем без деревьев. :)
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35695086
Gendrive
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
проходящий.Gendriveпроходящий.Gendriveа отображать структуру дерева без тривью не понимаю как ;)
Отображать и работать - две очень большие разницы. Так вот для работы TV неудобен. Для отображения - да сколько угодно.

Ох блин... Это уже религиозный спор, по-моему. OS/2 vs Windows, C vs Pascal, TreeView vs Grid... что-тотипа этого...
Ничего подобного. Просто больше похоже на разговор слепого с глухим. Вам рассказывают про неудобства работы, Вы в ответ рассказываете про удобства отображения. :)

А нет мысли, что удобство работы напрямую зависит от удобства отображения данных? Или в теории интерфессов что-то радикально изменилось?
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35695116
CTpEJIoK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ВладимирМ
Вы настолько привыкли использовать TreeView, что просто не видите других способов организации данных.

Я настолько намаялся отображать данные , пока не стал использовать для этого Тривью, что Ваши советы уже не имеют смыла.

ВладимирМ
Есть запись, у нее есть реквизиты (поля). Например, признак группы. Хотите "дерево"? Добавьте еще один реквизит (поле) - подгруппа. И какие проблемы вывести это как линейный список? Это один из вариантов. Можно еще использовать связанные таблицы (один уровень - одна таблица). Есть и другие варианты. Более того, есть другие принципы организации работы.

а потом добавьте поле "групаа подгруппы" и "подгруппа группы подгруппы группы"
а потом,когда появится еще один уровень вложенности - еще что-нибудь.
"как дети,ей богу" (с)

ВладимирМ
Неопределенное количество уровней вложенности - это либо ошибка проектирования, либо специфическая область деятельности. Да и то, во втором случае, использование TreeView, как правило, служит не для поиска, а для наглядного представления некой отдельной (небольшой) структуры.

"Когда вы говорите,Иван Васильевич, ощущение такое, что вы бредите" (с) Булгаков
Классический пример "ошибки проектирования" либо " специфической области деятельности" - проводник Windows.
Налицо неопределенное количество уровней вложженнсти, а конечный элемет (файл) может как иметь одинаковое название, так и одинаковые названия 2-3-5 родителей (папок в которых лежит)
Так что не видя "дерева" сложно определить - тот это файл или нет.

ВладимирМ
TreeView для поиска не приспособлен. Он вообще этого не умеет. Никак. Классический пример - проводник Windows. Иерархия директорий, каталогов, папок.

есть другие элементы контроля:
- комбо бокс, лист бокс, грид - как они приспособлены для поиска?
по-другому: какой контрол имеет встроеный инстумент поиска????
ответ - никакой.
Для этого есть программист, есть данные, которыми он оперирует.

Если кто-то думает, что идет речь о программе, при запуске которой появляется одно тривью ( с заголовком окна, плюсиками слева и крестиком для выхода в правом верхнем углу), у того просто неисправности фантазии...
(ХОтя скажу вам честно, есть формы, которые используют именно такой вид для выбора единственного или нескольких элементов с использованием встроеного чекбокса из дерева)

Вообще мне странно слышать(видеть) что список задач пользователя некоторые участники обсуждения сводят к поиску данных (это смешно) :-)

ВладимирМ
Вы сели за чужой компьютер. Вы не знаете где именно, в какой папке, находится нужный вам файл. Как вы будете осуществлять поиск с помощью дерева? Очевидно, просто тупо открывая ВСЕ ветки. Т.е. вообще ВСЕ. У вас нет других вариантов. Какое уж тут ускорение...

нет, я нажму Ctrl+F и воспользуюсь формой поиска, а результат увижу в тривью. и что?
а если я сел за чужой комп а там FAR или TotalCommander ??? я чем пользуюсь для поиска файла , неизвестно где находящегося? тоже поиском...
А если мне в гриде с несколькими тысячами записей надо искать? Скролить весь список? или грид имеет встроенные инструменты для поиска????
Не смешите меня и отстаньте от тривью с необоснованными, а главное глупыми претензиями...

ВладимирМ
А как же поиск? А поиск файла, осуществляется в линейном списке! Результат поиска - это линейный список БЕЗ дерева.

Результатом поиска может быть Бозон Хиддинга (или как он там), что мешает результат отобразить в виде иерархии дерева элементарных частиц, где в корне, скажем, ядро атома?
какая разница человеку, который смотрит в монитор ЧТО И ГДЕ ИЩЕТ программа????

ВладимирМ
Другими словами, поиск осуществляется ВНЕ идеологии древовидной струкутры. И только ПОСЛЕ окончания поиска вы делаете обратное преобразование. На основании найденной информации достраиваете иерархию.

Браво!! Если бы кто-нибудь до вас Америку не открыл, вы бы это только что сделали...
Какое гениальное открытие :-)
и что?
А если я вне идеологии формы ищу данные в таблицы из миллионов записей и результат из 10-15 показываю в гриде???
Раскритикуете грид, зо то, что ИДЕОЛОГИЯ поиска находится вне идеологии плоского грида???
Вы вообще читаете то, что пишеет? а главное для чего и для кого эти сентенции?

ВладимирМ
Получается двойное преобразование - из дерева в линейный список, затем поиск в этом линейном списке, затем преобразование результата в дерево. И зачем тут вообще нужно дерево? Почему бы не выбросить этот явно лишний элемент?

Получается что есть контрол, которым вы не умеете пользоваться, вот и все.
Но я не понимаю к чему такая рьяная агитация против его использования?

ВладимирМ
Впрочем, вы уже не в состоянии сделать что-то другое. Вам мешает наработанный FrameWork. Теперь уже не вы разрабатываете интерфейс, а созданный FrameWork диктует вам принципы работы. Вы вынуждены подстраиваться под существующую систему и ее интерфейс. Без вариантов.

а еще мне мешает Windows, Билл Гейст и Intel
Вот ведь гады..
И SQL Server почему-то не понимает запросов в произвольной форме...диктует мне свои условия..как писать, что требовать....
Кашмар...

Во вложении одна из форм приложения по формированию бюджета проета , структура работ которого - дерево неопределенной иерархии+состав работ так же может быть неоднороден по своей структуре... Причем пользователь ХОЧЕТ видеть все уровни проекта сразу и перемещаясь по инм, оценивать объем ресурсов и средств, которые необходимы..
По двойному нажатию на любом элементе дерева запускается форма для работы с данным уровнем, добавление, редактирование, удаление и поиск в дереве осуществляется элементами класса, расположенными над тривью. (Все это включено в класс-контейнер, который добавляется на форму и программист получает сразу готовый набор стандартных инструментов....
Вот к такому Дереву и нужен прикрученый грид с дополнительными параметрами, чтобы не нужно было по NodeClick выполнять ненужных телодвижений...
Если Вас и Ваших заказчиков и пользователей не устраивает такое отображение - это их личное дело. Возможно они прото не видели, что так может быть, или Вы их убедили, что им это не нужно (чтобы было удобнее Вам программировать в плоских списках, или сборище из неопределенного количества таблиц, по сути являющихся одним справочником.

Спасибо за внимание
...
Рейтинг: 0 / 0
Multi columm treeview (treeview + grid)
    #35695323
Gendriveпроходящий.Gendriveпроходящий.Gendriveа отображать структуру дерева без тривью не понимаю как ;)
Отображать и работать - две очень большие разницы. Так вот для работы TV неудобен. Для отображения - да сколько угодно.

Ох блин... Это уже религиозный спор, по-моему. OS/2 vs Windows, C vs Pascal, TreeView vs Grid... что-тотипа этого...
Ничего подобного. Просто больше похоже на разговор слепого с глухим. Вам рассказывают про неудобства работы, Вы в ответ рассказываете про удобства отображения. :)

А нет мысли, что удобство работы напрямую зависит от удобства отображения данных? Или в теории интерфессов что-то радикально изменилось?
Так ведь для удобной работы отображение должно быть соответствующее и вот тут-то и возникает разрыв. Ваше отображение удобно, но для чего удобно? Для какой работы? Вот для интенсивной работы оно неудобно.

ps: давайте где-нить в одном месте вести обсуждение. для меня предпочтительней foxclub.
...
Рейтинг: 0 / 0
82 сообщений из 82, показаны все 4 страниц
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Multi columm treeview (treeview + grid)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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