![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() |
Steklova Olga |
![]()
Сообщение
#1
|
![]() Участник ![]() ![]() Группа: Участник Сообщений: 198 Регистрация: 27.9.2011 Из: Санкт-Петербург Пользователь №: 2912 Спасибо сказали: 5 раз(а) Репутация: ![]() ![]() ![]() |
Здравствуйте
![]() TD_OBJ_SRC_NAME (словарь) с полями F_OBJ_SRC_CODE, F_OBJ_SRC_NAME F_OBJ_SRC_CODE - PK T_OBJ (главная) с полями F_OBJ_ID, TO_F_OBJ_SRC_CODE, ... F_OBJ_ID, TO_F_OBJ_SRC_CODE - PK TO_F_OBJ_SRC_CODE - FK, указывающий на F_OBJ_SRC_CODE словаря T_OBJ_DET_NMBS (дочерняя) с полями F_RECORD_NMB, TO_F_OBJ_ID, TO_TO_F_OBJ_SRC_CODE, ... F_RECORD_NMB - PK TO_F_OBJ_ID, TO_TO_F_OBJ_SRC_CODE - FK, указывающий на F_OBJ_ID, TO_F_OBJ_SRC_CODE главной таблицы Отношение главной и дочерней таблиц: 1-N. Задача в том, что, с одной стороны, при отображении главной таблицы надо вместо OBJ_SRC_CODE отображать OBJ_SRC_NAME из словаря, а, с другой стороны, при изменении текущей записи в главной таблице (OBJ_ID, OBJ_SRC_CODE) надо отображать соотв. записи из дочерней. Раскрывающийся текст
то после этого я не смогла бы в update_view_NN_det_for_obj_query() выполнить так как в update_view_NN_det_for_obj_query() выдает -1, если в таблице T_OBJ установлен setRelation для поля TO_F_OBJ_SRC_CODEа выдает "F_OBJ_SRC_NAME", если в таблице T_OBJ установлен setRelation для поля TO_F_OBJ_SRC_CODEвыдает "TO_F_OBJ_SRC_CODE", если в таблице T_OBJ не установлен setRelation для поля TO_F_OBJ_SRC_CODE Решение пока такое: вместо использования setRelation наследую модель MyModel_obj от QSqlRelationalTableModel и переопределяю DisplayRole. Можно, конечно, предварительно сделать один раз запрос к словарю, чтобы взять там все значения поля OBJ_SRC_NAME, а не прописывать их прямо в коде... Раскрывающийся текст
![]() |
|
|
![]() |
Litkevich Yuriy |
![]()
Сообщение
#2
|
![]() разработчик РЭА ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: ![]() ![]() ![]() |
Задача в том, что, с одной стороны, при отображении главной таблицы надо вместо OBJ_SRC_CODE отображать OBJ_SRC_NAME из словаря, а, с другой стороны, при изменении текущей записи в главной таблице (OBJ_ID, OBJ_SRC_CODE) надо отображать соотв. записи из дочерней. не смог представить, как я (пользователь) этим пользуюсь |
|
|
![]() ![]() ![]() |
![]() |
|
Текстовая версия | Сейчас: 25.5.2025, 21:22 |