crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )


  Ответ в QTableView + QSqlRelationalTableModel + MySQL
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
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
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 18.4.2024, 11:30