Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Update: Forum Guidelines & Code of Conduct


    Qt World Summit: Early-Bird Tickets

    Unsolved TableView, SQLite, QSqlRelationalTableModel

    General and Desktop
    2
    3
    80
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • C
      Colorado_Al last edited by

      I'm new to QT but started with Borland C.

      I have a desktop app that makes use of TableViews and a database with lots of relations.
      My question is how to assign a certain field to a certain column.. ie changing the display order.

      Here's a code snippit:

      // QSqlRelationalTableModel ////////////////////////////////////////////////////////////////////////////////////////////////
      QSqlRelationalTableModel *model = new QSqlRelationalTableModel;
      model->setJoinMode(QSqlRelationalTableModel::LeftJoin);
      model->setTable("tblSales");
      model->setEditStrategy(QSqlTableModel::OnManualSubmit);

      model->setRelation(4,   QSqlRelation("tblJewelryPiece", "JewelryPieceID", "Category"));// set Relation
      model->setRelation(5,   QSqlRelation("tblJewelryPiece", "JewelryPieceID", "PieceName"));
      
      model->setHeaderData(0, Qt::Horizontal, tr("Invoice #"));                               // set Header Data
      model->setHeaderData(2, Qt::Horizontal, tr("Date"));
      model->setHeaderData(3, Qt::Horizontal, tr("Qty"));
      model->setHeaderData(4, Qt::Horizontal, tr("Category"));
      model->setHeaderData(6, Qt::Horizontal, tr("Jewelry Piece"));
      model->setHeaderData(7, Qt::Horizontal, tr("Price"));
      
      model->setFilter("CustomerID=" + val);                            // set filter to current customer
      
      model->select();                                                                        // select
      ui->tv_Sales->setModel(model);
       ui->tv_Sales->resizeColumnsToContents();
       ui->tv_Sales->show();
      
      1 Reply Last reply Reply Quote 0
      • Christian Ehrlicher
        Christian Ehrlicher Lifetime Qt Champion last edited by

        I would go with QHeaderView::moveSection()

        Qt has to stay free or it will die.

        1 Reply Last reply Reply Quote 1
        • C
          Colorado_Al last edited by

          Thanks, will give that a shot... ( still learning the classes ).

          Thanks!

          1 Reply Last reply Reply Quote 0
          • First post
            Last post