Lier une QComboBox à du contenu en base de données



  • Bonjour à tous,

    Je suis entrain de développer une application pour le suivi des remboursements mais je rencontre un petit problème.

    J'ai une combobox qui est remplie via une BDD SQLite (Bénéficiaire) jusque là, pas de problème.

    Ensuite je récupère la valeur sélectionnée et l'id correspondant et je les ajoute dans la table Facture. Pas de soucis non plus.

    Lorsque je double-clique dans mon treeview (contenu de Facture), une nouvelle fenêtre s'ouvre et je peux modifier les informations.

    Je rempli la combobox depuis la BDD Bénéficiaire.

    Je n'arrive pas a dire à la combobox qu'elle doit sélectionner/ afficher la valeur contenu dans Facture.

    Auriez-vous une idée ou une solution miracle pour résoudre ce problème?

     
    QString id_bene =query.value(11).toString();// from SELECT * FROM Facture WHERE ID="+ Name+"
                    QSqlQuery query_beneficiaire( "SELECT Prenom,Nom,ID FROM Beneficiaires ORDER BY Prenom");
                        query_beneficiaire.exec() ;
                                    while ( query_beneficiaire.next() )
                                    {
     
                                        ui->comboBox_beneficiaire->addItem( query_beneficiaire.value( 0 ).toString()+" "+query_beneficiaire.value( 1 ).toString() );
                                    }
                    ui->comboBox_beneficiaire->setCurrentIndex(query.value(11).toInt());// ne marche pas car l'index n'est pas forcément égale à l'id
    


  • Salut,

    Je n'ai jamais utilisé les combobox ...
    Mais, selon la doc, tu dois pouvoir retrouver l'index d'un élément avec:

    int QComboBox::findData(const QVariant &data ...
    

    Sinon, faire un setCurrentText() avec ce même élément, ça marche pas ?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.