Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > C++ > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail


Ответ
 
Опции темы
Старый 17.07.2017, 02:43   #1
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 262
Репутация: 109
По умолчанию Связать два QTableView сигналами и слотами и передать скрытое поле

У меня есть приложение для расчета параметров сотрудников, информация о которых хранится в БД. На форме приложения два QTableView - в одном должности сотрудников, в другом - таблица сотрудников. Мне нужно сделать так, чтобы по клику на строчке с должностью в таблицу сотрудников загружались только те из их, которые находятся на этой должности.

Эти два QTableView связаны сигналами и слотами. Когда QTableView с должностями отправляет сигнал activated(), таблица сотрудников обновляется. Проблема в том, что я не знаю, как через механизм сигналов и слотов отправить ID должности, чтобы использовать его в запросе.

В QTableView должностей отображается два поля: id должности (скрытое поле) и название должности (единственное видимое поле). При активации строки отправляется QModelIndex, соответствующий полю с названием. А мне нужно как-то передать содержимое скрытого поля с id. Или получить его каким-то образом.

Как это сделать?

Код:

class MainWindow : public QMainWindow
{
    Q_OBJECT
public:
    explicit MainWindow(QWidget *parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow              *ui;
    QSqlQueryModel            *modelPosition;
    QSqlQueryModel            *modelEmployee;

private:
    void setupPositionModel(const QStringList & headers);
    void setupEmployeeModel(const QStringList & headers);
    void createUI();

public slots:
    void updateEmployeeModel(const QModelIndex & index);
};

Aoizora вне форума   Ответить с цитированием
Старый 17.07.2017, 13:37   #2
SAMOUCHKA
Участник клуба
 
Регистрация: 07.08.2011
Адрес: Димитровград
Сообщений: 545
Репутация: 111

skype: ilya10009
По умолчанию

Цитата:
В QTableView должностей отображается два поля: id должности (скрытое поле) и название должности (единственное видимое поле). При активации строки отправляется QModelIndex, соответствующий полю с названием. А мне нужно как-то передать содержимое скрытого поля с id. Или получить его каким-то образом.
Ну наверное названия должностей уникальные. Значит ID можно получить по названию.
__________________
eremeew.ilya@yandex.ru
SAMOUCHKA вне форума   Ответить с цитированием
Старый 17.07.2017, 14:30   #3
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 262
Репутация: 109
По умолчанию

Цитата:
Сообщение от SAMOUCHKA Посмотреть сообщение
Ну наверное названия должностей уникальные. Значит ID можно получить по названию.
Это лишний запрос к базе данных.
Aoizora вне форума   Ответить с цитированием
Старый 17.07.2017, 14:48   #4
waleri
Профессионал
 
Регистрация: 13.07.2012
Адрес: Нижний Новгород
Сообщений: 5,562
Репутация: 1743
По умолчанию

Это?
https://stackoverflow.com/questions/...f-selected-row
waleri вне форума   Ответить с цитированием
Старый 17.07.2017, 16:50   #5
Aoizora
Заблокирован
 
Регистрация: 11.11.2016
Сообщений: 262
Репутация: 109
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Спасибо, то, что надо.
Aoizora вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связать два DBGrid'a. sanchosss Помощь студентам 5 19.10.2011 20:28
связать два dbgrida ubun БД в Delphi 3 11.08.2011 21:23
[QT] Проблема с сигналами/слотами. Dayman Qt и кроссплатформенное программирование С/С++ 2 28.04.2011 18:51
Как связать два ComboBox ? Everik БД в Delphi 4 05.01.2010 22:29
Связать два компьютера Betty Операционные системы общие вопросы 12 06.05.2009 20:56


12:44.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru