如何为每个组合框选项添加“键”?所以如果下面的代码给了我一个组合框:
苹果
柠檬
樱桃
香蕉
芒果
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?
因此最终结果将是一个组合框显示:
答案 0 :(得分:0)
您可能已经可以通过查询执行此操作。我只能提供Oracle SQL语法,但其他DBMS可能有类似的选项:
假设你有一个带有“name”列的表“fruits”,那么就像
这样的查询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 );
}