Hi François,

Can't you simply make the hard-coded entries dynamic too. Just add a column in 
the db saying that these entries are the hardcoded ones ? With this, you got 
only one query.

And when doing db stuff, don't forget to use transactions. It can help speeding 
up stuff a lot.

Regards,
Lucien

----- Mail original -----
> De: "François K." <daithe...@free.fr>
> À: "Sailfish OS Developers" <devel@lists.sailfishos.org>
> Envoyé: Vendredi 17 Avril 2015 12:09:20
> Objet: [SailfishDevel] Build a Model with "fixed" items + "dynamic" ones
> 
> Hi !
> 
> Today, my issue is probably more about Qt than SailfishOS, but I'd
> like to try my luck with you first :)
> 
> I want to build a list where the first 6 items are "fixed" (they have
> to always be here) and the following ones are retrieved from a
> database.
> For each of these items, I'd like to also have the numbers of
> contained items (i.e. "My Project : 6 remaining tasks").
> 
> I came with 2 ideas to achieve this :
> 
> 1/ The first one is to build a Model that would inherit from
> QAbstractListModel.
> In the constructor, I would add the first 6 items (hard-code them).
> Then I would add a QSqlQueryModel instance and try to keep things
> up-to-date, thanks to the signals/slots mechanism.
> When updating the model, I would have to query the database 7 times
> (6 times for the hard-coded items, and 1 time for the following
> ones).
> I would also have to be careful when updating the "dynamic" items,
> and do this smartly (remove items that don't exist anymore, add the
> new ones or modifiy the existing ones to avoid too much visual
> glitches, ...)
> It seems a bit convoluted to me, but yeah...
> 
> 2/ The second idea I have is to slightly modify my database scheme
> and build a view with UNION statements. Basically, I would have 7
> SELECT statements UNIONed.
> My Model would then consist in a basic QSqlQueryModel.
> When updating the model, I would have to query the database just one
> time, and everything should update accordingly (magically).
> 
> 
> I don't really know what is the best solution, mostly when it comes
> to performance. What do you guys think ? Any hint, tip or advice to
> achieve my goal ?
> 
> Thanks a lot :)
> 
> --
> François
> _______________________________________________
> SailfishOS.org Devel mailing list
> To unsubscribe, please send a mail to
> devel-unsubscr...@lists.sailfishos.org
_______________________________________________
SailfishOS.org Devel mailing list
To unsubscribe, please send a mail to devel-unsubscr...@lists.sailfishos.org

Reply via email to