Название: QSqlTableModel - isDirty Отправлено: aliks-os от Август 22, 2011, 11:04 isDirty, как можно сбросить данный признак
Название: Re: QSqlTableModel - isDirty Отправлено: lit-uriy от Август 22, 2011, 11:56 Из асистента:
"Dirty values are values that were modified in the model but not yet written into the database." Дальше сам осилишь? Название: Re: QSqlTableModel - isDirty Отправлено: aliks-os от Август 22, 2011, 13:42 я сам в курсе, эту фразу я знаю наизусть.
популярно объясняю дело в том что я пишу данные в базу не при помощи submit, а использую updateRowInTable insertRowIntoTable соответственно эти функции не сбрасывают признак dirty вот такая бяка Название: Re: QSqlTableModel - isDirty Отправлено: developer от Август 22, 2011, 13:59 К чему такая сложность?
Название: Re: QSqlTableModel - isDirty Отправлено: aliks-os от Август 22, 2011, 14:07 вся эта сложность для того, чтобы при вызове submit не было вот этого
Submit() On success the model will be repopulated. Any views presenting it will lose their selections. Название: Re: QSqlTableModel - isDirty Отправлено: lit-uriy от Август 22, 2011, 21:06 >>эту фразу я знаю наизусть
в классе QSqlTableModel нет никакого признака, в методе isDirty() просто сравнивается информация в кеше с информацией в модели. Обновляй каждый индекс модели в ручную. Название: Re: QSqlTableModel - isDirty Отправлено: aliks-os от Август 23, 2011, 10:08 >>эту фразу я знаю наизусть в классе QSqlTableModel нет никакого признака, в методе isDirty() просто сравнивается информация в кеше с информацией в модели. Обновляй каждый индекс модели в ручную. Что значить обновить каждый индекс вручную??? Название: Re: QSqlTableModel - isDirty Отправлено: lit-uriy от Август 23, 2011, 10:39 setData(QModelIndex)
Название: Re: QSqlTableModel - isDirty Отправлено: aliks-os от Август 23, 2011, 10:59 это я и так делаю
Название: Re: QSqlTableModel - isDirty Отправлено: aliks-os от Август 23, 2011, 12:26 Вопрос решен через переопределение в модели headerData
Название: Re: QSqlTableModel - isDirty Отправлено: lit-uriy от Август 23, 2011, 20:03 >>Вопрос решен через переопределение в модели headerData
хм, для меня не очевидно. А что ты там делаешь? Название: Re: QSqlTableModel - isDirty Отправлено: aliks-os от Август 25, 2011, 08:40 просто напросто редактор данных через грид, однако чтобы каждый раз при редактировании не вызывать submit (который перезагружает данные, а также теряется выделение текущей ячейки) я пошел на данные ухищрения
Название: Re: QSqlTableModel - isDirty Отправлено: lit-uriy от Август 25, 2011, 09:52 я имел в виду, что такого делается в headerData, что позволило избавится от описанной, в теме, проблемы?
Название: Re: QSqlTableModel - isDirty Отправлено: aliks-os от Август 26, 2011, 12:42 я имел в виду, что такого делается в headerData, что позволило избавится от описанной, в теме, проблемы? Все делается вот таким образом Код: //При вставке строки присваивается номер новой строки Т.Е. получается что сам признак Dirty для меня стал неактуальный для визуального отображение. Проблема была именно как корректно отображать звезду, ну вот таким способом я ее и победил Название: Re: QSqlTableModel - isDirty Отправлено: lit-uriy от Август 26, 2011, 21:20 ясно
|