如何为每个组合框选项添加一个“键”?所以如果下面的代码给我一个组合框:
苹果
柠檬
樱桃
香蕉
芒果
QSqlQuery query;
QStringList Columns;
query.prepare(" SELECT * "
" FROM \"incdt_systemType\" ");
query.exec();
query.first();
_SQLQuerymodel->setQuery(query);
ui->_version->setModel(_SQLQuerymodel);
ui->_version->setModelColumn(_SQLQuerymodel->record().indexOf("incdt_systemtype_code"));
如何在它前面添加 1.、2.、3.、4.、5.,?
因此最终结果将是一个组合框,显示:
- 苹果
- 里昂
- 樱桃
- 香蕉
- 芒果
最佳答案
您也许已经可以通过查询来做到这一点。我只能提供 Oracle SQL 语法,但其他 DBMS 可能有类似的选项:
假设您有一个表“fruits”,其中包含一个列“name”,然后是一个类似
的查询SELECT rownum || '. ' || name FROM fruits
会成功的。
另一种选择是子类化 QSqlQueryModel
并重载 data()方法有点像这样:
QVariant MyOwnSQLQueryModel::data(const QModelIndex & item, int role ) const
{
if( role == Qt::DisplayRole && item.column() == _nameColumnIndex )
{
return QString( "%1. %2" )
.arg( item.row() )
.arg( QSqlQueryModel::data( item, role ) );
}
// else: default behaviour
return QSqlQueryModel::data( item, role );
}
关于c++ - 从数据库中检索后向组合框添加其他文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17284078/