Вот столкнулся с определенными трудностями, и не понимаю как их преодолеть.. Есть 2 таблицы. Они связаны друг с другом через ключ. В 1-й таблице 2 столбца (ID, value), во 2-й - 3 (ID, foreign_ID, value). Данные из первой таблицы добавляю в 1-й QComboBox так:
QSqlTableModel *pModel2 = new QSqlTableModel();
pModel2->setTable("CUSTOMERS");
pModel2->select();
pModel2->sort(1, Qt::AscendingOrder);
m_pCustomerCmb->setModel(pModel2);
m_pCustomerCmb->setModelColumn(1);
2-й QComboBox для 2-й таблицы формирую так:
QSqlRelationalTableModel *pModel3 = new QSqlRelationalTableModel();
pModel3->setTable("CUSTOMERS_NAMES");
pModel3->setRelation(1, QSqlRelation("CUSTOMERS", "CustomerID", "CustomerAddress"));
pModel3->select();
pModel3->sort(2, Qt::AscendingOrder);
m_pCustomerNameCmb->setModel(pModel3);
m_pCustomerNameCmb->setModelColumn(2);
А как мне поставить фильтр на 2-й QComboBox чтобы в нем отображались записи только для тех пар (ID, value), которые являюются текущими в 1-м комбобоксе? Еслиб это были таблицы QTableView - тут все просто. 1-я колонка это и есть внутренние ID таблиц. А как мне узнать, какой ID 1-й таблицы выбран на данный момент в 1-м комбобоксе?
----
UPD
Потому что в 1-й комбобокс выводится только 2-й столбец 1-й таблицы - т.е. values.... И как в таком случае узнать, что за ID 1-й таблицы соответствует выводимый (QComboBox::currentText(...)) текст в этом 1-м комбобоксе...
Спасибо!