|
4 / 4 / 0
Регистрация: 09.12.2022
Сообщений: 298
|
|
Воссоздать иерархию по таблице15.08.2024, 19:37. Показов 1125. Ответов 12
Метки нет (Все метки)
Здравствуйте, уважаемые профессионалы!
Вынужден обратиться за помощью, потому что моих скилов явно здесь не хватает. Есть иерархическая таблица где id - это элемент, а pid - это подчиненный элемент. Есть treeview. Задача банальная - как бы так пройтись по этой таблице, чтобы воссоздать эту иерархию? Должно получиться вот это:
0
|
|
| 15.08.2024, 19:37 | |
|
Ответы с готовыми решениями:
12
Воссоздать программу по коду Воссоздать игровой компьютер Деление - воссоздать в коде (2*(x*x*x)-11*(x*x)+12*x+9)/(x-3) |
|
Модератор
|
|
| 16.08.2024, 05:36 | |
|
А почему так? Проще же наоборот, от ствола к листьям идти, для каждого элемента указывать его родителя. Тогда алгоритм элементарный получается:
1. Строим "ствол" (0-й уровень), выбирая элементы, у которых ID родителя = NULL 2. Обходим в цикле все элементы полученного "ствола", выбирая для каждого элемента ветви (элементы, для которых ID родителя = ID текущей ноды). Так строим уровень 1 3. Повторяем пункт 2 до тех пор, пока запросы возвращают какие-либо элементы. А как по Вашему представлению иерархию строить - что-то даже и не пойму... Задом наперед все...
1
|
|
|
831 / 445 / 39
Регистрация: 05.05.2022
Сообщений: 3,075
|
|
| 16.08.2024, 07:50 | |
|
Чет я не понял. Почему id повторяются?
Я делал сохранение дерева в бинарник и загрузку из него в 1 проход с помощью стека, но чтобы алгоритм был нормальный надо организацию данных сначала правильную сделать.
1
|
|
|
1 / 1 / 0
Регистрация: 07.09.2021
Сообщений: 105
|
||
| 16.08.2024, 09:01 | ||
|
1
|
||
|
3763 / 2267 / 705
Регистрация: 29.05.2013
Сообщений: 9,622
|
||
| 16.08.2024, 19:01 | ||
|
1
|
||
|
4 / 4 / 0
Регистрация: 09.12.2022
Сообщений: 298
|
||
| 16.08.2024, 23:52 [ТС] | ||
|
0
|
||
|
4 / 4 / 0
Регистрация: 09.12.2022
Сообщений: 298
|
||||||
| 17.08.2024, 17:14 [ТС] | ||||||
|
я решил эту задачу. Получилось громоздко, непонятно, но работает. Если кому-то такая задача когда-нибудь понадобится, то пользуйтесь.
0
|
||||||
|
4 / 4 / 0
Регистрация: 09.12.2022
Сообщений: 298
|
||
| 17.08.2024, 20:28 [ТС] | ||
|
0
|
||
|
|
|
| 18.08.2024, 09:09 | |
|
как раз к ID записи у меня нет особых вопросов
а вот к использованию Record - есть очень немного сейчас аргументов можно найти в пользу использования Record при этом синтаксис с крышечками сильно раздут и неудобен при динамическом создании объектов классы гораздо удобнее и зачем хранить указатель на ID, по которому надо искать данные объекта, если можно хранить указатель на сам объект? ну и цикл - каждый раз крутить весь датасет при поиске с начала до конца немного избыточно если организовать хранение как словарь объектов, то поиск на больших данных будет быстрее если дерево очень большое, то хранение каждой ветки с детьми нужно организовывать в отдельный список, а списки - в словарь по ID ветки
1
|
|
|
831 / 445 / 39
Регистрация: 05.05.2022
Сообщений: 3,075
|
|
| 18.08.2024, 13:53 | |
|
0
|
|
|
4 / 4 / 0
Регистрация: 09.12.2022
Сообщений: 298
|
|||
| 18.08.2024, 19:03 [ТС] | |||
|
0
|
|||
| 18.08.2024, 19:03 | |
|
Помогаю со студенческими работами здесь
13
Воссоздать модель потенциального нарушителя
Необходимо воссоздать программу из ворда Как воссоздать звуковой белый шум? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
|
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут.
https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc
Первый документ красиво выглядит, но без схемы.
Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
|
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере".
Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
|
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти".
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2.
В качестве источника данных. . .
|
|
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер
Написал заготовку:
dotnet new console --aot -o UrlHandler
var items = args. Split(":");
var tag = items;
var id = items;
var executable = args;. . .
|
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3.
Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
|
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений.
9TO2GP2bpX4
a42b81fb172ffc12ca589c7898261ccb/
https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/
Слева синяя линия -. . .
|
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. .
Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
|