Приветствую Всех!
Вопрос, видимо, к Андрею:
В таблице хранится список подразделений. Одни подчиняются другим, т.е. дерево. Но группировать дерево надо по разным типам родителей: по территориальному признаку и по хозяйственному. У записи, естественно, два ParentId.
Сейчас сделано так: объявлен алиас таблицы, на заладках лежат два брауза. Ненужный тип родителей в браузе фильтруется.
Работает, но не очень нравится: синхронизировать надо, добавлять кнопари в 2-х экземплярах...
Хотел сделать все это в одном браузе:
В BRWx:Tree.Init по условию устанавливал SELF.ParentField &= ...
и при выборе закладки делал
BRWx:Tree.Init
BRWx:Browse.Load
но дерево по другим родителям не перестраивается.
Изучение TMAV.INC новых идей не принесло.
Возможно ли сделать такое?
Динамическая смена ParentId в дереве
Модератор: Andrew™
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion и MAV который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Re: Динамическая смена ParentId в дереве
надо пробовать и это не так просто, в зависимости от ParentField много доп структур делается, я бы сделал проще, одна Browse, НОOVV писал(а):Приветствую Всех!
Вопрос, видимо, к Андрею:
В таблице хранится список подразделений. Одни подчиняются другим, т.е. дерево. Но группировать дерево надо по разным типам родителей: по территориальному признаку и по хозяйственному. У записи, естественно, два ParentId.
Сейчас сделано так: объявлен алиас таблицы, на заладках лежат два брауза. Ненужный тип родителей в браузе фильтруется.
Работает, но не очень нравится: синхронизировать надо, добавлять кнопари в 2-х экземплярах...
Хотел сделать все это в одном браузе:
В BRWx:Tree.Init по условию устанавливал SELF.ParentField &= ...
и при выборе закладки делал
BRWx:Tree.Init
BRWx:Browse.Load
но дерево по другим родителям не перестраивается.
Изучение TMAV.INC новых идей не принесло.
Возможно ли сделать такое?
в качестве имени в DCT регистриуем переменную с атрибутом THREAD
теперь две задачи, в каждом потоке её надо не забывать инициализировать, как это проще сделать применительно к C6x
заводим глобальный класс с атрибутом THREAD и делаем реализацию конструктора, в котором этой переменной глобальной имени файла присваиваем правильное (default имя) значение
в БД строишь столько View с колько надо для построения деревьев, они по сути будут совпадать со структурой таблицы, за исклбючением одного в одной VIEW в качестве ParentID поля будет выступать одно поле таблицы, для другой - другое, имя через AS сделать одно и тоже
и теперь когда надо переключится на другое дерево, меняем имя VIEW - глобальную переменную которая закреплена за именем, и делаем обычный .Load
ещё есть вариант - в качестве загрузчика закрепить ХП с параметрами и возвращать требуемые SELECTы, они будут по идее совпадать но в качестве ParentID будет то одно, то другое поле таблицы
ДАВАЙ ПРИМЕР
будет пример APP/DCT с двумя TreeBrowse по одному файлу, скрипт на создание и наполнение таблицы, тогда и решение без объявления доп структур на сервере и DCT покажу в нём
на пальцах могу объяснить, но всё равно что то упущу.
на пальцах могу объяснить, но всё равно что то упущу.