Ok i 'll try explain it

I have data table (read only). I fill it through QSqlSelectCursor.When i catch double click on data table row i create widget for editing(there i use QSqlForm for relate table fields with controls).After i finish edit my edited record move at last row in data table

Is that correct? I dont think that...Give piece of code

Qt Code:
  1. // reaction on double click catching,dtMain - pointer on my data table
  2. QFormUpdBranch frmUpdBranch(dtMain,false);
  3. frmAddBranch.exec();
  4.  
  5. // constructor of QFormUpdBranch
  6. QSqlRecord *recordSelected = m_pdtMain->currentRecord();
  7. int nBranchId = recordSelected->value("id").toInt();
  8. m_pcurUpdate = new QSqlCursor("branches");
  9. m_pcurUpdate->select("id = " + QString::number(nBranchId));
  10. m_pcurUpdate->next();
  11.  
  12. m_psqlForm = new QSqlForm(this);
  13. m_psqlForm->setRecord(m_pcurUpdate->primeUpdate());
  14. m_psqlForm->insert(txtBranchName, "description");
  15. m_psqlForm->insert(txtIP, "ip_address");
  16. m_psqlForm->insert(txtPort, "port");
  17. m_psqlForm->readFields();
  18.  
  19. // reaction on Ok
  20. m_psqlForm->writeFields();
  21. m_pcurUpdate->update();
  22. m_pdtMain->refresh(QDataTable::RefreshAll);
To copy to clipboard, switch view to plain text mode 

Hope for your help..