Hi,

i have a model an tableview.
I set the model to the table view on the following way:
Qt Code:
  1. QString searchValue = ui->lineEdit_search_clients->text();
  2. QSqlQueryModel *model=new QSqlQueryModel(this);
  3.  
  4. proxyModel->setSourceModel(model);
  5. proxyModel->setFilterRegExp(QRegExp(searchValue, Qt::CaseInsensitive, QRegExp::FixedString));
  6. proxyModel->setFilterKeyColumn(-1);
  7.  
  8. connect(ui->lineEdit_search_clients, SIGNAL(textChanged(QString)),
  9. proxyModel, SLOT(setFilterFixedString(QString)));
  10. connect(proxyModel, SIGNAL(hasSelection()),
  11. ui->lineEdit_search_clients, SLOT(setText()));
  12.  
  13.  
  14. model->setQuery("SELECT ROWID, ClientName, ClientCity, ClientEik FROM clients");
  15. model->setHeaderData(0, Qt::Horizontal, QObject::tr("RowID"));
  16. model->setHeaderData(1, Qt::Horizontal, QObject::tr("Name"));
  17. model->setHeaderData(2, Qt::Horizontal, QObject::tr("City"));
  18. model->setHeaderData(3, Qt::Horizontal, QObject::tr("ID"));
  19.  
  20.  
  21. ui->tableView_clients->setModel(proxyModel);
  22. //ui->tableView_clients->setSortingEnabled(true);
  23. ui->tableView_clients->setColumnWidth(0,30);
  24. ui->tableView_clients->setColumnWidth(1,170);
  25. ui->tableView_clients->setColumnWidth(2,100);
  26. ui->tableView_clients->setColumnWidth(3,70);
  27. ui->tableView_clients->horizontalHeader()->setResizeMode(QHeaderView::Interactive);
  28. ui->tableView_clients->horizontalHeader()->setStretchLastSection(true);
  29. ui->tableView_clients->show();
To copy to clipboard, switch view to plain text mode 

When i search using QSortFilterProxyModel the content in the TableView changes it's position and doesn't map the model.
Than when i try to select some row , what i see doesn't respond of what i select.

This is the selection:

Qt Code:
  1. QModelIndexList selectedList = ui->tableView_clients->selectionModel()->selectedRows();
  2.  
  3.  
  4.  
  5. int selected_row;
  6. int i=0;
  7. selected_row=selectedList.at(i).row();
  8.  
  9. mod->setQuery("SELECT * FROM clients");
  10.  
  11. QString ClientName = mod->data(mod->index(selected_row, 0)).toString();
  12. QString ClientCity = mod->data(mod->index(selected_row, 1)).toString();
  13. QString ClientAddress = mod->data(mod->index(selected_row, 2)).toString();
  14. QString ClientMol = mod->data(mod->index(selected_row, 3)).toString();
  15. QString ClientEik = mod->data(mod->index(selected_row, 4)).toString();
  16. QString ClientVat = mod->data(mod->index(selected_row, 5)).toString();
  17.  
  18. //QMessageBox::information(this,"", ClientMol);
  19.  
  20. emit selectedName(ClientName);
  21. emit selectedCity(ClientCity);
  22. emit selectedAddress(ClientAddress);
  23. emit selectedMol(ClientMol);
  24. emit selectedEik(ClientEik);
  25. emit selectedVat(ClientVat);
  26. //emit selectedRaw(QString::number(ClientId));
  27. this->close();
To copy to clipboard, switch view to plain text mode 

Please HELP!!!