crossplatform.ru

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

Гость_iris_*
сообщение 10.5.2010, 19:55
Сообщение #1





Гости








    


Создаю
QSqlTableModel * model = new QSqlTableModel();

Делаю, чтобы данные заносились в базу сразу после изменения в таблице
model->setEditStrategy(QSqlTableModel::OnFieldChange);

Они почему-то не всегда изменяются. Например одну и ту же ячейку нельзя изменить 2 раза подряд. Так же нельзя изменять данные из одной и той же колонки подряд. Но разрешает изменить данные в одной ячейке, потом в какой-то ячейке другой колонки, а потом опять в первой ячейке.
Почему это может быть?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
kibsoft
  опции профиля:
сообщение 25.5.2010, 23:00
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 180
Регистрация: 21.7.2009
Из: Самара
Пользователь №: 928

Спасибо сказали: 14 раз(а)




Репутация:   2  


Цитата
Не понимаю почему так?

Тебе ответили:
Цитата
Пр политике редактирования QSqlTableModel::OnFieldChange Данные будут сохранены в БД при смене столбца (щелчок мыши на другом столбце или выбирая ячейку с помощью клавиатуры)

Как вариант, можешь поставить OnManualSubmit и приконнектить
void QAbstractItemModel::dataChanged ( const QModelIndex & topLeft, const QModelIndex & bottomRight )
к
bool QSqlTableModel::submitAll ()   [slot]
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 22.6.2025, 11:56