При добавлении детали к основному объекту (когда нажимаем на кнопку "Добавить" на вкладке деталей) открывается страница редактирования детали, и в ней уже установлена ссылка на родительский объект. Каким образом в страницу редактирования передается id родительского объекта? Смотрел код базовой страницы реестра, но не нашел..
Нравится
Алексей, при регистрации детали, Вы должны указать связь с объектом раздела (фильтрация и значение по умолчанию). Именно значение по умолчанию и реализует эту логику:
Дмитрий, спасибо за ответ. Подскажите тогда, как можно реализовать следующее: когда на странице редактирования объекта переходим на вкладку деталей и жмем "добавить", должна осуществляться определенная проверка состояния объекта, и в зависимости от нее - либо создавать деталь, либо нет.
Я планировал сделать это следующим образом: в странице реестра, которая используется для отображения деталей, подписаться на нажатие кнопки "добавить" и...дальше в обработчике надо получить id родительского объекта, а как - непонятно.
В процессе страницы реестра детали существует параметр SelectedNodePrimaryColumnVallue в котором хранится ID выделенной записи в основном реестре.
По идее, на PageLoadComplete считав этот параметр, Вы можете выполнить запрос к БД (чтобы считать остальные поля записи с этим Id), и в зависимости от значения одной из таким колонок можно просто "дизейблить" кнопку "Добавить".
а всё таки есть возможность прочитать id родительского объекта в детали
Ольга, да, можно.
Читайте колонку ParentID у текущего объекта:
var parentId = Page.DataSource.ActiveRow.GetTypedColumnValue<Guid>("ParentId");
либо
#3 Олейник Дмитрий 29 августа 2013 – 10:37
В процессе страницы реестра детали существует параметр SelectedNodePrimaryColumnVallue в котором хранится ID выделенной записи в основном реестре.