powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Multi columm treeview (treeview + grid)
25 сообщений из 82, страница 2 из 4
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
25 сообщений из 82, страница 2 из 4
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Multi columm treeview (treeview + grid)
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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