QVariant model::data(const QModelIndex &index, int role) const{ QVariant value = QSqlQueryModel::data(index,role); switch(role){ case Qt::DisplayRole: case Qt::EditRole: if(index.row() == this->rowCount()-1) //Если последняя строка отображаем данные из хэш return m_hash.value(index); else return value; //В остальном отображаются данные из твоего запроса case .... ... case..... ... }return value;
int row = modFileDeposites->rowCount()-1; if (!modFileDeposites->insertRows(row, 1)) { QMessageBox::critical(this, tr("ERR"), tr("Вставка строки вызвала ошибку:\r\n %1").arg(modFileDeposites->lastError().databaseText())); return; }
SELECT id, tname, price, .... FROM tableA UNION SELECT 0 AS id, 'Всего:' AS tname, 12345.67 AS price, ...