Здравствуйте, гость ( Вход | Регистрация )
Steklova Olga | Дата 10.2.2012, 17:46 |
Я имела в виду, что кроме переопределения Qt::DisplayRole здесь ничего не поможет, что-ли? И если написать setRelation, то после этого до замененного поля уже нельзя будет добраться? А для того, чтобы пользоваться setRelation, надо было по-другому делать связь между главной и дочерней таблицами, создав для этого в главной таблице дополнительно поле ID и ссылаться на него из дочерней таблицы, в которой создать соответственно поле TO_ID? |
|
wiz29 | Дата 10.2.2012, 17:32 |
не совсем понятна суть вопроса. | |
Steklova Olga | Дата 10.2.2012, 17:07 |
Извините, ни у кого, что-ли, такой ситуации не было? | |
Steklova Olga | Дата 1.2.2012, 10:04 |
Цитата не смог представить, как я (пользователь) этим пользуюсь Пользуюсь так: - отображаю на экране одновременно два QTableView (сверху - view_obj для главной таблицы, снизу - view_NN_det_for_obj для дочерней таблицы), - в главной таблице отображаю поля "N объекта", "Источник инф. об объекте" (наименование, а не код), - в главной таблице выделяю одну из строк (текущую), - при изменении текущей строки в главной таблице обновляю отображение дочерней таблицы, выводя в дочернюю таблицу параметры деталей объекта, имеющего "N объекта" и "Код источника инф. об объекте" из текущей строки главной таблицы. |
|
Litkevich Yuriy | Дата 31.1.2012, 20:01 |
Задача в том, что, с одной стороны, при отображении главной таблицы надо вместо OBJ_SRC_CODE отображать OBJ_SRC_NAME из словаря, а, с другой стороны, при изменении текущей записи в главной таблице (OBJ_ID, OBJ_SRC_CODE) надо отображать соотв. записи из дочерней. не смог представить, как я (пользователь) этим пользуюсь |
|
Steklova Olga | Дата 27.1.2012, 18:17 |
Здравствуйте Есть у меня три таблицы в БД: 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, а не прописывать их прямо в коде... Раскрывающийся текст
|
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 12.5.2024, 13:20 |