Ok. The simplest (and probably most inefficient) solution is:
- disconnect model from QTableView
- setup filter twice
- connect model to QTableView
So updateFilter() in my example now looks like this:
void ModelTest::updateFilter()
{
bool modelIsEmpty = (model->rowCount() == 0);
if(modelIsEmpty)
ui.tableView->setModel(0);
model
->setFilter
(QString("f1 = '%1'").
arg(ui.
lineEdit->text
()));
if(modelIsEmpty){
model
->setFilter
(QString("f1 = '%1'").
arg(ui.
lineEdit->text
()));
ui.tableView->setModel(model);
}
}
void ModelTest::updateFilter()
{
bool modelIsEmpty = (model->rowCount() == 0);
if(modelIsEmpty)
ui.tableView->setModel(0);
model->setFilter(QString("f1 = '%1'").arg(ui.lineEdit->text()));
if(modelIsEmpty){
model->setFilter(QString("f1 = '%1'").arg(ui.lineEdit->text()));
ui.tableView->setModel(model);
}
}
To copy to clipboard, switch view to plain text mode
Bookmarks