hi there!

i am using QSqlRelationalTableModel QSqlTableModel QDataWidgetMapper QSortFilterProxyModel QTableView..
to filter multiple rows in a column and i use QLineedit to display code of that filtered rows and after filtering i want to change other rows in my second table & my thrid table using tow QComboBox so if i changed content in one of that Combobox it should apply the change to all the rows that have the same code in column( N° 3) whech displaied in QLineEdit.. how to do that is it possible? i am sorry if i can't explain well due to my bad english thanks for help
Qt Code:
  1. {
  2. ui->setupUi(this);
  3.  
  4. //bla bla bla...
  5. //bla bla bla...
  6.  
  7. myeditModel = new QSqlRelationalTableModel(this);
  8. myeditModel->setTable("myFirstTable");
  9. myeditModel->setRelation(myeditModel->fieldIndex("myFirstForeignKeyID"/*1*/), QSqlRelation("mySecondTable","id","name"));
  10. myeditModel->setRelation(myeditModel->fieldIndex("mySecondForeignKeyID"/*2*/), QSqlRelation("myThirdTable","id","name"));
  11. myeditModel->setRelation(myeditModel->fieldIndex("myCodeID"/*3*/), QSqlRelation("myFourthTable","id","myCode"));
  12. myeditModel->select();
  13.  
  14.  
  15. QSqlTableModel *relationModel1 = myeditModel->relationModel(1);
  16. ui->myFirstComboBox->setModel(relationModel1);
  17. ui->myFirstComboBox->setModelColumn(relationModel1->fieldIndex("name"));
  18.  
  19. QSqlTableModel *relationModel2 = myeditModel->relationModel(2);
  20. ui->mySecondComboBox->setModel(relationModel2);
  21. ui->mySecondComboBox->setModelColumn(relationModel2->fieldIndex("name"));
  22.  
  23.  
  24. mapper = new QDataWidgetMapper(this);
  25.  
  26. mapper->setSubmitPolicy(QDataWidgetMapper::AutoSubmit);
  27. mapper->setModel(myeditModel);
  28. mapper->setItemDelegate(new QSqlRelationalDelegate(this));
  29. mapper->addMapping(ui->myFirstComboBox, 1);
  30. mapper->addMapping(ui->mySecondComboBox, 2);
  31. mapper->addMapping(ui->codeEdit, 3);
  32. mapper->addMapping(ui->dateEdit, 4);
  33.  
  34.  
  35. //bla bla bla...
  36. //bla bla bla...
  37.  
  38.  
  39. mapper->setCurrentIndex(row);
  40.  
  41. QString filterValue = ui->codeEdit->text();
  42.  
  43. myproxy= new QSortFilterProxyModel(this);
  44. myproxy->setSourceModel(myeditModel);
  45. myproxy->setFilterCaseSensitivity(Qt::CaseInsensitive);
  46. myproxy->setFilterRegExp(QRegExp(filterValue, Qt::CaseInsensitive, QRegExp::FixedString));
  47. myproxy->setFilterKeyColumn(/*-1*/3);
  48.  
  49. ui->EditView->setModel(myproxy);
  50. ui->EditView->resizeRowsToContents();
  51. ui->EditView->resizeColumnsToContents();
  52. ui->EditView->setSortingEnabled(true);
  53. ui->EditView->setColumnHidden(0, true);
  54. }
  55.  
  56. myEditDialog::~myEditDialog()
  57. {
  58. delete ui;
  59. }
  60. void myEditDialog::on_codeEdit_selictionChanged(const QString &arg1)
  61. {
  62. myproxy->setFilterFixedString(arg1);
  63.  
  64. }
To copy to clipboard, switch view to plain text mode