Russian Qt Forum

Qt => Базы данных => Тема начата: WW от Сентябрь 22, 2006, 11:29



Название: Master-detail - как?
Отправлено: WW от Сентябрь 22, 2006, 11:29
Делаю первую модель на базе 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