0
我使用QSqlTableModel *modelcompleter
,然後用QCompleter
將數據加載到qLineEdit *search
獲取id字段作爲記錄在與QSqlTableModel一個int
connect(ui->btnSearch, SIGNAL(clicked()), SLOT(search()));
modelcompleter->setTable("cust");
modelcompleter->setEditStrategy(QSqlTableModel::OnManualSubmit);
modelcompleter->select();
QCompleter *searchCompleter = new QCompleter(modelcompleter);
searchCompleter->setCompletionColumn(1);
searchCompleter->setCaseSensitivity(Qt::CaseInsensitive);
ui->search->setCompleter(searchCompleter);
我使用QLineEdit的打在我想要的物品進入選擇:
connect(ui->search, SIGNAL(returnPressed()), SLOT(search()));
功能
void search(){
cust_name = ui->search->text();
modelsearch->setTable("cust");
modelsearch->setEditStrategy(QSqlTableModel::OnManualSubmit);
modelsearch->setFilter(QString("cust_name like '%%1%'").arg(cust_name));
modelsearch->select();
qDebug() << modelsearch->record(0).value("id").toInt(); }
我不明白爲什麼,但目前設置爲只有1條記錄的模型搜索,當我輸入時(QCompleter確保我提交完整的'cust_name')。 QDebug()輸出0是否有另一種方式來獲得相匹配的搜索查詢'cust_name'