Results 1 to 2 of 2

Thread: Manipulating data with QSqlRelationalTableModel and QTableView

  1. #1
    Join Date
    Apr 2007
    Posts
    23
    Thanks
    3
    Qt products
    Qt4
    Platforms
    Windows

    Default Manipulating data with QSqlRelationalTableModel and QTableView

    Hello,
    I'm using QSqlRelationalTableModel and QTableView to access a sqlite database :

    Qt Code:
    1. ..... sentenceModel = new QSqlRelationalTableModel(this);
    2. sentenceModel->setTable("sentence");
    3. sentenceModel->setRelation(Sentence_ActionId,
    4. QSqlRelation("action", "id", "text"));
    5. sentenceModel->setRelation(Sentence_CharacterId,
    6. QSqlRelation("character", "id", "text"));
    7. sentenceModel->setSort(Sentence_Text, Qt::AscendingOrder);
    8. sentenceModel->setHeaderData(Sentence_Text, Qt::Horizontal, tr("Text"));
    9. sentenceModel->setHeaderData(Sentence_Sound, Qt::Horizontal, tr("Sound"));
    10. sentenceModel->setHeaderData(Sentence_Language, Qt::Horizontal, tr("Language"));
    11. sentenceModel->setHeaderData(Sentence_ActionId, Qt::Horizontal, tr("Action"));
    12. sentenceModel->setHeaderData(Sentence_CharacterId, Qt::Horizontal, tr("Character"));
    13. sentenceModel->select();
    14.  
    15. sentenceTableView = new QTableView;
    16. sentenceTableView->setModel(sentenceModel);
    17. sentenceTableView->setItemDelegate(new QSqlRelationalDelegate(this));
    18. sentenceTableView->setSelectionMode(QAbstractItemView::SingleSelection);
    19. sentenceTableView->setSelectionBehavior(QAbstractItemView::SelectRows);
    20. sentenceTableView->setColumnHidden(Sentence_Id, true);
    21. sentenceTableView->resizeColumnsToContents(); .....
    To copy to clipboard, switch view to plain text mode 

    and when i try to add a new record :
    Qt Code:
    1. void MainWidget::addSentence()
    2. {
    3. int row = 0;
    4. if (sentenceTableView->currentIndex().isValid())
    5. row = sentenceTableView->currentIndex().row();
    6.  
    7. sentenceModel->insertRow(row);
    8. QModelIndex index = sentenceModel->index(row, Sentence_Text);
    9. sentenceTableView->setCurrentIndex(index);
    10. sentenceTableView->edit(index);
    11. }
    To copy to clipboard, switch view to plain text mode 

    i receive the error:

    ASSERT: "idx >= 0 && idx < s" in file c:\iwmake\build_vs2005_commercial_________________ padding_________________\include\qtcore\../../src/corelib/tools/qvarlengtharray.h, line 78


    Any help would be appreciated.
    Thanks,
    Palma
    Last edited by nagpalma; 6th July 2007 at 13:25.

  2. #2
    Join Date
    Feb 2006
    Location
    Oslo, Norway
    Posts
    6,264
    Thanks
    36
    Thanked 1,519 Times in 1,389 Posts
    Qt products
    Qt4
    Platforms
    MacOS X Unix/X11 Windows Symbian S60 Maemo/MeeGo

    Default Re: Manipulating data with QSqlRelationalTableModel and QTableView

    Looks like you might have run into this bug. Try updating to Qt 4.3.0.
    J-P Nurmi

  3. The following user says thank you to jpn for this useful post:

    nagpalma (9th July 2007)

Similar Threads

  1. QTreeView problem scrolling to end.
    By seneca in forum Qt Programming
    Replies: 7
    Last Post: 22nd December 2015, 13:08
  2. QTableView refresh problem
    By tebessum in forum Qt Programming
    Replies: 3
    Last Post: 29th December 2006, 12:22
  3. Paging a QTableView
    By Jimmy2775 in forum Qt Programming
    Replies: 3
    Last Post: 6th November 2006, 18:54
  4. QTableView paints too much
    By Jimmy2775 in forum Qt Programming
    Replies: 2
    Last Post: 26th July 2006, 19:42
  5. Multi-line messages in QTableView
    By Conel in forum Qt Programming
    Replies: 6
    Last Post: 13th April 2006, 14:49

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Digia, Qt and their respective logos are trademarks of Digia Plc in Finland and/or other countries worldwide.