Делаю первую модель на базе QAbstractModel и QTreeView, вторая - QSqlQueryModel с параметром и QTableView. Делаю bind к переменной. Какие сигналы надо коннектить к каким слотам, чтобы это работало?
Пока коннекчу on_treeView_clicked(), но правильно ли это?
И второе: информация в QTableView меняется, НО кол-во строк нет, т.е. если было 5 строк, то после обновления данных (в новом наборе например одна запись) 1 сторка содержит данные, а 4 - пустые.
Делаю так:
void MyClass::on_treeView_clicked(QModelIndex index)
{
//получение Id главной модели
int i = ((MyTreeModel*)index.model())->currentId(index);
if (i != m_iOrg)
{
QSqlQuery sql = ((QSqlQueryModel *)ui.table->model())->query();
//sql.prepare(sql.lastQuery());
if (((QSqlQueryModel *)ui.table->model())->query().isActive())
((QSqlQueryModel *)ui.table->model())->query().clear();
m_iOrg = i;
//обновление дочерней модели
((QSqlQueryModel *)ui.table->model())->query().addBindValue(m_iOrg);
sql.exec();
ui.table->setModel(ui.table->model());
}
}
Как правильно сделать?
добавлено спустя 18 минут: Сорри, QT-4.1.4 Com. Драйвер - QODBC