Название: Обновление одной конкретной строчки в модели Отправлено: stealth от Ноябрь 18, 2007, 18:46 Здравствуйте!
Есть QSqlRelationTableModel, есть QTableView. После некоторых событий в БД происходят изменения (модель при этом вообще не трогается), причем я знаю по какому QModelIndex произошли изменения. Метода, чтобы обновить только конкретную строчку не нашел, пока приходится делать model->select() Как же всё-таки сделать обновление одной только строчки? Название: Re: Обновление одной конкретной строчки в модели Отправлено: ритт от Ноябрь 18, 2007, 22:06 поскольку из текста выше не очень понятно, попробую угадать...
берёшь у модели индекс, работаешь с данными этого индекса, изменяешь их и запросом отправляешь изменения в бд...и теперь надо обновить данные этого индекса в модели, не дёргая селект....угадал/нет? если угадал, то поставь у модели эдитстратеги в мануалсабмит и делай сетДата с этим индексом...или сетРекорд для всей строки, предварительно выбрав рекорд этой же строки Название: Re: Обновление одной конкретной строчки в модели Отправлено: burunduk от Ноябрь 19, 2007, 00:37 не оно ?
void QAbstractItemView::update ( const QModelIndex & index ) P.S. This function was introduced in Qt 4.3. Название: Re: Обновление одной конкретной строчки в модели Отправлено: ритт от Ноябрь 19, 2007, 00:47 не так...
void QAbstractItemView::update ( const QModelIndex & index ) [slot] Updates the area occupied by the given index. This function was introduced in Qt 4.3. обновляет пространство, занимаемое индексом во вьюхе Название: Re: Обновление одной конкретной строчки в модели Отправлено: stealth от Ноябрь 19, 2007, 20:20 Этот update не подходит...
Из модели я получаю индекс, получаю значениt primaryKey, после чего сторонним классом обрабатываю данные в базе с этим примариКеем. Данные в базе соответсвенно в базе изменились, а вот в модели остаются старые, пока не обновлю её select`ом, а надо бы обновить только одну строчку. Название: Re: Обновление одной конкретной строчки в модели Отправлено: ритт от Ноябрь 19, 2007, 21:07 ммм...http://prog.org.ru/forum/index.php/topic,6502.msg30444.html#msg30444 (http://prog.org.ru/forum/index.php/topic,6502.msg30444.html#msg30444) читал?
должно помочь... Название: Re: Обновление одной конкретной строчки в модели Отправлено: stealth от Ноябрь 20, 2007, 18:11 читал несколько раз :)
не сразу осознал, что это и есть решение, но всё-таки понял, что оно мне подойдет, спасибо :) Название: Re: Обновление одной конкретной строчки в модели Отправлено: stealth от Ноябрь 20, 2007, 19:31 Опять же неясности, а как получить нужный мне QSqlRecord???
Вот код из ассистента Код: QSqlQuery q("select * from employees"); |