:: Visual Foxpro, Foxpro for DOS
Re: Tree + колонки
Igor Korolyov

Сообщений: 34580
Дата регистрации: 28.05.2002
Роман, если в дереве в одном случае выбраны ВСЕ подузлы, а во втором всего один подузел из сотни, при том сама ветка "схлопнута", то КРАЙНЕ неприятно что оно отображается совершенно одинаково - это вводит в заблуждение - тогда уж лучше при частичном выборе ВООБЩЕ не отмечать родителя. 3-позиционный чекбокс красиво и элегантно решает эту проблему. Беда лишь в том что штатные чекбоксы МС-овского дерева не 3-позиционные


------------------
WBR, Igor
Ratings: 0 negative/0 positive
Re: Tree + колонки
XAndy

Сообщений: 3803
Откуда: Киев
Дата регистрации: 05.02.2004
Понадобилось самому с отметками в дереве, заодно сделал методы добавления, удаления, загрузки пользовательских картинок - вроде бы хорошо работает (вариант только для VFP9 SP2)

[attachment 10852 Example.png]

Обнаружился любопытный нюанс - картинки в PictureVal с 32-битной глубиной цвета прорисовываются как-бы дважды, и при кликах возникает незначительный эффект их мерцания. А когда понизил цветность до 24 бит, так стало всё идеально. Пробовал на разных по быстродействию компьютерах, на XP и Win7 - одинаково, явно фишка фокса. Помнится, кто-то отмечал тормоза с картинками в PictureVal, может это именно фоксовская фича прорисовки 32-битных картинок
Ratings: 0 negative/0 positive
Re: Tree + колонки
XAndy

Сообщений: 3803
Откуда: Киев
Дата регистрации: 05.02.2004
вариант для VFP9 до sp2
Ratings: 0 negative/0 positive
Re: Tree + колонки
Dag

Сообщений: 1156
Дата регистрации: 08.02.2006
XAndy

Обнаружил небольшой недочет - провисшие связи.[attachment 10960 .PNG]
Ratings: 0 negative/0 positive
Re: Tree + колонки
XAndy

Сообщений: 3803
Откуда: Киев
Дата регистрации: 05.02.2004
Версия та, что в предыдущих двух сообщениях?
И нужны данные этого куска дерева (номенклатурные номера, как я понимаю), чтоб попытаться повторить
Ratings: 0 negative/0 positive
Re: Tree + колонки
Dag

Сообщений: 1156
Дата регистрации: 08.02.2006
Последняя версия для VFP9SP2. тот же эффект был и на дереве, написанном в prg-файле. Там вылечилось правкой в коде NodeOpen и GetTreeboxName. Табличку сброшу вечером.
Загляните в личные сообщения.



Исправлено 1 раз(а). Последнее : Dag, 02.11.10 15:30
Ratings: 0 negative/0 positive
Re: Tree + колонки
Dag

Сообщений: 1156
Дата регистрации: 08.02.2006
Вырезал репрезентативный кусочек таблицы. Приложил prg-файл с измененным классом (см.метод GetTreeboxNameX)
Ratings: 0 negative/0 positive
Re: Tree + колонки
XAndy

Сообщений: 3803
Откуда: Киев
Дата регистрации: 05.02.2004
Посмотрел. Первое, у тебя старый демо-пример, который я делал просто чтоб убедиться в работоспособности идеи. Но ошибка не из-за этого, я заложил ограничение максимального уровня вложенности до 10 (больше не нужно было), а у тебя 12, похоже из-за этого. Тем не менее, получается, что достаточно одной некорректной записи и всё дерево будет выглядеть (только выглядеть) неправильно. Подумалось вот что. Не зря в Windows 7 отказались от представления деревьев в таком виде - код сложный, много накладных расходов при добавлении и удалении записей, при перерисовке дерева. Можно переделать дерево в виду а ля Win7, как на рисунке, тогда вопрос с некорректным отображением в любом случае просто отпадает, даже если в дереве реально будет повисшая запись. И код при инициализации или перерисовке очень упрощается, наверно, стоит переделать

[attachment 10972 1.png]
Ratings: 0 negative/0 positive
Re: Tree + колонки
Dag

Сообщений: 1156
Дата регистрации: 08.02.2006
спасибо за развернутый ответ.
Ratings: 0 negative/0 positive
Re: Tree + колонки
Taran

Сообщений: 13624
Откуда: Красноярск
Дата регистрации: 16.01.2008
XAndy
И код при инициализации или перерисовке очень упрощается, наверно, стоит переделать
Не не не. Андрей, у тебя классное дерево, да и стандартное с линейками выглядит информативнее чем просто просто с отступом.
Ratings: 0 negative/0 positive
Re: Tree + колонки
XAndy

Сообщений: 3803
Откуда: Киев
Дата регистрации: 05.02.2004
Без линеек тоже нормально, и, главное, пофиг есть ошибки в данных или нет . Есть ещё преимущество - можно разрешать пользователю высоту строк грида менять. Во вложении новая версия

[attachment 11000 FalseTree.png]
Ratings: 0 negative/0 positive
Re: Tree + колонки
XAndy

Сообщений: 3803
Откуда: Киев
Дата регистрации: 05.02.2004
Dag

Твоя табличка rapidshare.com

[attachment 11001 tnved.png]
Ratings: 0 negative/0 positive
Re: Tree + колонки
Dag

Сообщений: 1156
Дата регистрации: 08.02.2006
Спасибо! Буду пробовать.
Ratings: 0 negative/0 positive
Re: Tree + колонки
Александр Жевелев

Сообщений: 2723
Откуда: Новосибирск
Дата регистрации: 09.10.2003
Александр Жевелев
Цитата:
...что Вы прицепите исходник для ознакомления к посту... Это возможно?
Если это интересно, то немного попозже оформлю и выложу в решениях
как и обещал - прилагаю демонстрационный пример параллельного отображения информации в treeview и grid, синхронного перемещения по ним. на красоту не претендую - это всего лишь пример, демонстрирующий возможности совмещения красоты Treeview с информативностью Grid а .



Исправлено 1 раз(а). Последнее : Александр Жевелев, 13.11.10 08:28
Ratings: 0 negative/0 positive
Re: Tree + колонки
Александр Жевелев

Сообщений: 2723
Откуда: Новосибирск
Дата регистрации: 09.10.2003
[attachment 11029 treegrid.jpg]
Ratings: 0 negative/0 positive
Re: Tree + колонки
AleXP

Сообщений: 11
Откуда: Челябинская обл.
Дата регистрации: 05.09.2010
Александр Жевелев
Александр Жевелев
Цитата:
...что Вы прицепите исходник для ознакомления к посту... Это возможно?
Если это интересно, то немного попозже оформлю и выложу в решениях
как и обещал - прилагаю демонстрационный пример параллельного отображения информации в treeview и grid, синхронного перемещения по ним. на красоту не претендую - это всего лишь пример, демонстрирующий возможности совмещения красоты Treeview с информативностью Grid а .
Огромная благодарность.


------------------
C уважением, Александр
Ratings: 0 negative/0 positive
Re: Tree + колонки
Каратаев

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Прошу прощения, что поднимаю эту старую тему. Я когда-то скачивал данное решение, но не использовал. А сейчас вот захотелось прикрутить к одной программе... Всё красиво, всё здорово, одно только никак не могу понять - как на выходе получить список отмеченных узлов? Никак не могу въехать... В доках написано использовать getmark(), но что-то не получается. Приходится изобретать свой костыль для этой цели. Но ведь не может быть, чтобы такая возможность отсутствовала...
Кто-нибудь может подсказать?
Вот открыл форму, наставил галочек, закрываю форму и надо получить, что-же я наотмечал там...
Пока пытаюсь выкрутиться как-то так:
LOCAL lcResMark
m.lcResMark = ''
SELECT (ThisForm.tree1.cursor)
SCAN FOR mark > 0
m.lcResMark = m.lcResMark + TRANSFORM(id) + '|'
ENDSCAN
*=MESSAGEBOX(m.lcResMark)
SELECT example
BROWSE FOR ATC(TRANSFORM(id), m.lcResMark) > 0


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Tree + колонки
Каратаев

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
Вообще сделал проще. В курсор example доавил поле mark, а в классе FalseTree просто добавил две строчки кода, которые проставляют этот mark синхронно с управляющим курсором...
Но всё-равно, такое ощущение, что как-то по другому должно быть...


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive
Re: Tree + колонки
Сергей Зиньковский

Сообщений: 130
Откуда: Оренбург
Дата регистрации: 14.11.2003
В win7 что-то вместо картинок квадраты с крестиками, в winxp - значки отображаются и стандартные и пользовательские.
VFP9.0+SP1
Ratings: 0 negative/0 positive
Re: Tree + колонки
Каратаев

Сообщений: 3977
Откуда: Алматы
Дата регистрации: 04.12.2001
В SP2 вроде нормально.


------------------
Никогда не бывает настолько плохо, чтобы не могло быть еще хуже.
Ratings: 0 negative/0 positive


Извините, только зарегистрированные пользователи могут оставлять сообщения в этом форуме.

On-line: 22 (Гостей: 22)

© 2000-2024 Fox Club 
Яндекс.Метрика