|
Работа с деревом значений. Вопрос | ☑ | ||
---|---|---|---|---|
0
mzelensky
26.06.13
✎
08:58
|
Доброго всем!
Что-то немного подтупливаю. Обычная форма. Размещаю там дерево значений и командную панель к ней. В дереве 2 колонки (кол1 и кол2). У "Кол1" стоит признак "отображать иерархию". Захожу в пользовательский режим (дерево пустое), нажимаю добавить строку - строка добавляется в первый уровень дерева. Нажимаю еще раз добавить строку - строка создается в иерархии первой строки. А далее картина такая - при создании новой строки, она довавляется в иерархию активной строки. При этом создать строку в первом уровне просто не удается! Единственный вариант скопировать первую строчку, а затем редактировать ее. Что я делаю не так? Как по-нормальному добавить строку в первый уровень дерева? |
|||
1
Smallrat
26.06.13
✎
09:00
|
||||
2
Smallrat
26.06.13
✎
09:00
|
||||
3
mzelensky
26.06.13
✎
09:04
|
(1)(2) как-то это бредово. Они там либо копируют (как я и предполагал), либо делают ВСЕГДА ввод строки новой в корень ,а потом типа перетягивать нужно.
не ужели нормально никак?! |
|||
4
kosts
26.06.13
✎
09:08
|
(0) Создай верхний Уровень - корень
|
|||
5
Smallrat
26.06.13
✎
09:09
|
вот фрагстер разбирался - если он заляпуху сделал, то без нее наверное никак
v8: Как в форме добавить новую строку на верхний уровень непустого дерева значений? |
|||
6
mzelensky
26.06.13
✎
09:13
|
(5) ну, я уже начал свою "ляпуху" кодить...но это реально ЛАЖА!
|
|||
7
mzelensky
26.06.13
✎
09:14
|
(4) Просто создать первую строку и назвать ее "КОРЕНЬ"?
В иерархическом справочнике есть настрока иакая....типа оторажать первый уровень или нет, вот в дереве такого не вижу. |
|||
8
kosts
26.06.13
✎
09:18
|
Можно кнопку добавить "Создать на этом же уровне"
|
|||
9
mzelensky
26.06.13
✎
09:19
|
(8) уже создал 2 кнопки :) наверзем уровне и вложенно.
Вот теперь думаю отрубить стандартные кнопки на панели и контекстном меню. А еще нужно бы кнопку "инсерт" как-то переназначить на свою процедуру |
|||
10
mzelensky
26.06.13
✎
09:25
|
А стандартного диалога переноса строки из одного родителя в другой случайно нет?
|
|||
11
SanGvin
26.06.13
✎
09:26
|
зажать контрол и ткнуть на уже выбранную. и снова попробовать добавить.
|
|||
12
mzelensky
26.06.13
✎
09:29
|
(11) и что при этом должно произойти?
|
|||
13
SanGvin
26.06.13
✎
09:33
|
(12) ничего =( думал если деселект строки сделать то получится, проверил, не получается =(
|
|||
14
kosts
26.06.13
✎
09:35
|
(9) >А еще нужно бы кнопку "инсерт" как-то переназначить на свою процедуру
См. Перед началом добавления |
|||
15
mzelensky
26.06.13
✎
09:37
|
Ладно, дальше разберемся. А то я как-то сперва испугался, что совсем уже крыша поехала - не могу найти как строку в корень добавить (без доп. ухищрений)...а тут оказывается я не один такой :)
|
|||
16
mzelensky
26.06.13
✎
09:37
|
Всем спасибо!
|
|||
17
kosts
26.06.13
✎
09:38
|
Можно стандартную кнопку не отрубать, а показывать менюшку для выбора на этом же уровне создавать или подчиненном.
|
|||
18
mzelensky
26.06.13
✎
12:58
|
Очередная трабла!
Новую ветку создавать не буду, напишу здесь! |
|||
19
mzelensky
26.06.13
✎
13:01
|
Заполнил я дерево значений. Далее мне его необходимо хранить в базе, а следовательно хочу перегнать его в табличную часть.
Обойти рекурсивно дерево и записать в ТЧ не проблема, встает другйо косяк - в дальнейшем нужно эту ТЧ обратко конвертить в дерево. Для этого нужно знать кто кому подчиняется (короче говоря родителя наду записывать в ТЧ), но я никак не могу придумать ключ уникальности для строки дерева что потом его использовать в качестве ориентира. Т.е. по какому "ключу" можно организовать иерархию ? |
|||
20
kosts
26.06.13
✎
13:16
|
(19) Я по простому числу связку делал.
|
|||
21
kosts
26.06.13
✎
13:17
|
(20) В смысле не по "простому", а просто по числу :)
|
|||
22
mzelensky
26.06.13
✎
13:18
|
(21) а число это что значит, откуда взял?
Я сперва хотел делать по индексу строки, но как в итоге оказалось индекс строки дерева не уникален во всем дереве :( |
|||
23
mzelensky
26.06.13
✎
13:19
|
(22) можно было бы уникальный идентификатор сформировать, но опять таки вопрос..на основании чего его формировать...
|
|||
24
kosts
26.06.13
✎
13:24
|
(22) Новый ключ = Макс(Нужные ключи) + 1;
|
|||
25
kosts
26.06.13
✎
13:24
|
(23) Уникальный можно и без оснований формировать. Но думаю он здесь лишний, да и запросы как потом делать с ним...
|
|||
26
mzelensky
26.06.13
✎
13:25
|
(24) а есть пример как обратно ТЗ в дерево развернуть по этому ключу?!
|
|||
27
kosts
26.06.13
✎
13:27
|
(26) Под рукой нету. Далеко.
В строке должны быть поля: Код строки|Код родителя| Другие поля |
|||
28
mzelensky
26.06.13
✎
13:31
|
(27) Так вроде и делаю, но что-то сегодня тяжело с интелектуальной работой...не могу красивую рекурсию написать.
В тч легко записал, а обратно что-то не получается красиво. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |