Здравствуйте, гость ( Вход | Регистрация )
varvasar | Дата 5.8.2008, 12:47 |
Перекомпилил проект в релизе - лишние строки пропали, но остальные баги остались. БД MySQL 5.0.51b |
|
Litkevich Yuriy | Дата 28.7.2008, 13:48 |
описаный баг похож на тот который у меня был. я работаю через ODBC с Firebird'ом, все исправилось после обновления драйвера Firebird ODBC и больше никогда непроявлялось (хотя логики ни какой, как и у тебя в БД все писалось путем). А ты какой драйвер Qxxx используешь и для какой БД? |
|
varvasar | Дата 28.7.2008, 13:37 |
Проблема странная, поэтому описывать буду подробно. При добавлении новой записи в базу (через модель естественно) dModel->insertRow(row); cIndex = dModel->index(row, s_c); dTableView->setCurrentIndex(cIndex); dTableView->edit(cIndex); Происходит следующее: Если таблица достаточно простая, с одним внешним ключем (setRelation), то все проходит на ура. Если же для таблицы установлено несколько внешних ключей, то при завершении редактирования новой записи имеет место сбой: новая запись отображается корректно, а запись, находившаяся ранее в строке row - с ошибками - в полях с внешними ключами неверные данные. Если после добавления записи выполнить dModel->select() все становится ок, тоесть проблема только в отображении данных, в БД ошибки не идут. Это раз. Кроме всего прочего, после добавления записи, в конце таблицы почему-то появляются линшие пустые строки, числом равные количеству заполненных строк в этой таблице. Причем выделить их нельзя, а после закрытия dTableView и открытия его снова лишние строки пропадают, т.е проблема снова в отображении. Это два Есть еще три - подскажите, как заставить QTableView после добавления новой записи скролиться на нее. Выделение записи я сделал с помощью QItemSelection, но скролинга на выделение не происходит, а при больших рабмерах таблиц это сильно не удобно. Заранее благодарен за помощь Qt v4.3.4 |
|
Просмотр темы полностью (откроется в новом окне) | |
Текстовая версия | Сейчас: 18.4.2024, 11:30 |