powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос про дерево (экспорт).
21 сообщений из 21, страница 1 из 1
Вопрос про дерево (экспорт).
    #33585731
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Доброе время суток. Имеется просмотровая форма Treeview. Дерево изделий с параметрам (план, длительность изготовления и т.д.) В принципе неплохо бы это дерево както экспортировать, чтобы пользовател имел возможность данный документ кудато сохранить в другом приложении просматривать. Первое, что приходит в голову - Excel (там предположительно есть возможность изваять нечто подобное.).
А есть ли другие варианты?
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33585736
w3d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как-то не совсем понятно, что именно надо.
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33585758
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Экспортировать дерево в некий документ, чтобы в нем можно было открывть\закрывать ветки печатать это и т.д. Главное, чтобы был некий внешний документ, кот можно положить в архив переслать и т.д.
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33585762
Фотография Владимир СА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
denis_viktorovich...В принципе неплохо бы это дерево както экспортировать... Первое, что приходит в голову - Excel.Кто тебе мешает это сделать? Какая проблема-то? Ты ведь об этом не рассказал.
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33585766
w3d
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Выкинуть в Эксел, а там сгруппировать строки в соответствии со структурой дерева.
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33585771
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже прояснилось.
Я имел ввиду рекурсивный перебор врех уровней дерева и вставка с соотв. смещением в ячейки Листа. А потом надо было бы както организовать скрытие\раскрытие веток.
Только что до меня дошло что treeview можно вставить и в лист экселя. Попробую копать в этом направлении.
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33585802
kdanylo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуйте Pivot Table в Excel сочинить из ваших данных.
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33588009
Jurisfox
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Экспортировать дерево в некий документ, чтобы в нем можно было открывть\закрывать ветки печатать это и т.д. Главное, чтобы был некий внешний документ, кот можно положить в архив переслать и т.д.

Лучше всего - экпорт в XML. Тогда в обычном browser можно просматрировать именно так, как вы желаете.

Никогда не говори "невозможно", просто попробуй сделать иначе!
JS (at FoxClub)
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33588232
_Иван_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Присоединесь к вопросу
Юрий, не покажите кодом
как это можно сделать
при структуре таблицы
ID RARENTID NAME итд
Спасибо
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33592391
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_иван_Присоединесь к вопросу
Юрий, не покажите кодом
как это можно сделать
при структуре таблицы
ID RARENTID NAME итд
Спасибо

Лови...
* создаем временный курсор
tmpCursor = SYS(2015)
CREATE Cursor (tmpCursor) ;
(Key C(15) ,;
Level N(4) ,;
Parent C(15) ,;
Text C(50))


SELECT key, parent, text ;
from [YouTable] WHERE parent = '0_' ;
INTO CURSOR (menu_cursor)

GO TOP

nLevel = 0

DO WHILE !EOF()
xkey = key
xtext = text
xparent = Parent

INSERT INTO (tmpCursor) VALUE (xkey, nlevel, xparent, '', xText)

thisform.GoTree(xKey)

SELECT (menu_cursor)
skip
ENDDO
SELECT (tmpCursor)
COPY TO exportXLS Type XLS

*********************************************
Method.goTree
LParameters parentkey
PRIVATE tmp_rec

SELECT [YourTable]
Set order to parent && обязательно должен быть!!!!
Seek parentkey

IF FOUND()

nLevel = nLevel + 1

DO while !EOF() AND Parent = parentkey
pText = text
pKey = Key
pParent = parentkey
INSERT INTO (TmpCursor) (key_menu, Level, parent, Text) ;
Value (pkey, nLevel, parentkey, pText )

SELECT [YourTable]

tmp_rec = Recno()

= Thisform.GoTree(pKey)

Select [YourTable]
GO tmp_rec
SKIP

Enddo
nLevel = nLevel - 1
Endif

Сфё!!!!
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33592837
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно и так из курсора TreeTabl "вытащить" всех "детей" выбранного lnKeyID

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
LOCAL lnLevel

CREATE CURSOR  Result (KeyID I, Lev I, ParentID I, Name C( 40 ))
m.lnLevel  =  0 
INSERT INTO Result (KeyID, Lev, ParentID, Name ) ;
SELECT KeyID, m.lnLevel,  ParentID, Name 
FROM TreeTabl WHERE KeyID = m.lnKeyID
DO WHILE _TALLY >  0 
	m.lnLevel = m.lnLevel +  1 
	INSERT INTO Result (KeyID, Lev, ParentID, Name ) ;
	SELECT TreeTabl.KeyID, m.lnLevel,  TreeTabl.ParentID, TreeTabl.Name
                FROM TreeTabl  ;
	   INNER JOIN Result ON TreeTabl.ParentID = Result.KeyID AND
                        Result.Lev = m.lnLevel -  1 
ENDDO

С уважением, Алексей
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33593995
asp.net
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jurisfox, ваш ответ единтсвенно - правильный. Тут только XML со схемой поможет.

P.S Схема для того, чтобы не "мурыжить" пользователя обновлениями EXE или APP. Программа смотрит структуру на основе схемы XML и строит дерево из документа. Ясное дело в XML может валяться все что угодно хоть 100 летней давности. Главное совпадение : схема - скрутура документа.
Удачи.
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33594197
Фотография Aleksey-K
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, XML это конечно круто, но... у меня коллега на работе занимается программой для расчета зарплаты и сведения о зарплате (НДФЛ2) необходимо подавать в налоговую инспекцию. Смотрю, с некоторых пор он чего-то стал интересоваться XML. Оказвается, теперь налоговики принимают справки в электронном виде ТОЛЬКО в XML. Ладно, сделал он вывод НДФВЛ2 в этом формате. Повозился (у него программа еще под DOS FP 2.6), но все сделал.
И что получилось: раньше файл занимал одну дискету, а теперь около 80! МБ.
Раньше программа проверки файла проверяла его около минуты, а теперь более 2 часов на не хилой машине. А функциональности не прибавилось ни на грош. И к чему такой прогресс? Зачем этот XML для вывода сведений?! Дань моды?
С уважением, Алексей
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33594279
Urri
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет, не дань моде.
Вообще-то очень больной вопрос реальной жизни - это обмен данными между разными системами. Вероятно, xml призван облегчить жизнь в этом плане. Как? Ну, он поддерживается разными системами, следовательно, парсинги на все случаи жизни писать не надо. Но программистам он реально жизнь может упростить только в том случае, если обо всех основных форматах обмена документами со всеми контрагентами удалось договориться.
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33594390
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
asp.netJurisfox, ваш ответ единтсвенно - правильный. Тут только XML со схемой поможет.

P.S Схема для того, чтобы не "мурыжить" пользователя обновлениями EXE или APP. Программа смотрит структуру на основе схемы XML и строит дерево из документа. Ясное дело в XML может валяться все что угодно хоть 100 летней давности. Главное совпадение : схема - скрутура документа.
Удачи.
Понимаешь, конечно можно воспользоваться чем угодно, XML и прочими другими новшевствами, но по-моему ты суть вопроса не вникнул... Человек попросил собрать из свой таблицы, а не из дерева (ActiveX), таблицу, напоминающюю в точности структуру дерве, а здесь без рекурсивного обхода структур не обойтись... Пример от Microsoft экспорт дерева в таблицу - корявый....Убеди меня в обратном....
Thanx
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33595501
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно еще вопрос. Я в XML человек тёмный :-). Знаю название, знаю что новый прогрессивный формат. А где собственно в примере сам экспорт в XML? Там вроде в XLS:

SELECT (tmpCursor)
COPY TO exportXLS Type XLS

И сколько записей максимум можно в этот формат выгрузить?
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33595692
Valerii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Microsoft решил перевсти на этот формат все свои jabcyst ghbkj;tybz Word, Excel, PowerPoint, но этот формат поддерживается более конкретно начиная с VFP 8.... Установи, читай, интересно... но пока особого применеия в своих приладах я не нашел....
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33596110
denis_viktorovich
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я если честно не понял про экспорт в примере. Как экспортировать в XML так, чтобы ветви открывались, закрывались по щелчку? В прмере я так понял получается полностью раскрытое дерево(все ветки раскрыты). И экспортируется в Эксель. Ср-вами Экселя, что ли предполагается в XML перегонять?
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33608196
Снегурка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Файл в формате XML открывается в IE и отображается динамически в виде дерева.
То есть к каждой ветке (которая соответствует строке таблицы) слева "присобачен" символ "минус". Нажимаешь на него - ветка закрывается и на его месте стоит "плюсик". :)
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33608203
Снегурка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я делала парсинг XML-файла.
Ну о-о-очень медленно работает :((
...
Рейтинг: 0 / 0
Вопрос про дерево (экспорт).
    #33609255
_Иван_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну дак приведите кто-нибудь этот парсинг
или что -нить :) , чтоб
видеть таблицу со структурой
ID
ParentID
NAme

в виде дерева.
Спасибо
...
Рейтинг: 0 / 0
21 сообщений из 21, страница 1 из 1
Форумы / FoxPro, Visual FoxPro [игнор отключен] [закрыт для гостей] / Вопрос про дерево (экспорт).
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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