Advertisement
Guest User

Untitled

a guest
Apr 23rd, 2018
68
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.87 KB | None | 0 0
  1. dllmysql.h:
  2. public:
  3. int rajapintafunktioDLLHaeTilitapahtumat(int idTili, QTableView &view, int montakoTapahtumaa, int mistaTapahtumasta = 0);
  4.  
  5.  
  6. ******
  7. dllmysql.cpp
  8. ******
  9.  
  10. int DLLMySQL::rajapintafunktioDLLHaeTilitapahtumat(int idTili, QTableView &view, int montakoTapahtumaa, int mistaTapahtumasta)
  11. {
  12. return olioTietokantaMoottori->haeTilitapahtumat(idTili, view, montakoTapahtumaa, mistaTapahtumasta);
  13. }
  14.  
  15. *****
  16. tietokantamoottori.h
  17. *****
  18.  
  19. #include <QSqlTableModel>
  20. #include <QSortFilterProxyModel>
  21. #include <QTableView>
  22.  
  23. public:
  24. int haeTilitapahtumat(int idTili, QTableView &view, int montakoTapahtumaa, int mistaTapahtumasta = 0);
  25.  
  26.  
  27. private:
  28. QSortFilterProxyModel *proxymodel;
  29. QSqlTableModel *model;
  30.  
  31.  
  32. ****
  33. tietokantamoottori.cpp
  34. ****
  35.  
  36. TietokantaMoottori::TietokantaMoottori()
  37. {
  38.  
  39. //qDebug() << "testi";
  40. QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
  41.  
  42. db.setHostName("mysli.oamk.fi");
  43. db.setDatabaseName("opisk_t7lija00");
  44. db.setUserName("t7lija00");
  45. db.setPassword("TSzjTjGW2URSWdL8");
  46. db.open();
  47. if(db.open()) {
  48. qDebug() << "yhteys onnistui";
  49. }
  50.  
  51. proxymodel = new QSortFilterProxyModel;
  52. model = new QSqlTableModel;
  53. }
  54.  
  55. int TietokantaMoottori::haeTilitapahtumat(int idTili, QTableView &view, int montakoTapahtumaa, int mistaTapahtumasta)
  56. {
  57. int palautus;
  58.  
  59. model->setTable("Tilitapahtuma");
  60. model->setFilter(QString("idTili = '%1'").arg(idTili));
  61. model->select();
  62. model->sort(0, Qt::DescendingOrder);
  63. model->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
  64. model->setHeaderData(1, Qt::Horizontal, QObject::tr("First name"));
  65. model->setHeaderData(2, Qt::Horizontal, QObject::tr("Tapahtuma"));
  66. model->setHeaderData(3, Qt::Horizontal, QObject::tr("Aika"));
  67.  
  68. proxymodel->setSourceModel(model);
  69.  
  70. view.setModel(proxymodel);
  71.  
  72. if(montakoTapahtumaa > proxymodel->rowCount()) {
  73. mistaTapahtumasta = 0;
  74. montakoTapahtumaa = proxymodel->rowCount();
  75. palautus = 0;
  76. } else if(mistaTapahtumasta < 0) {
  77. mistaTapahtumasta = 0;
  78. palautus = 0;
  79. } else if(mistaTapahtumasta + montakoTapahtumaa > proxymodel->rowCount()) {
  80. mistaTapahtumasta = proxymodel->rowCount() - montakoTapahtumaa;
  81. palautus = mistaTapahtumasta;
  82. } else {
  83. palautus = mistaTapahtumasta;
  84. }
  85.  
  86. for(int i = 0;i <= proxymodel->rowCount();i++) {
  87. view.showRow(i);
  88. }
  89.  
  90. for(int i = 0;i <= proxymodel->rowCount();i++) {
  91. if(i < mistaTapahtumasta || i >= (mistaTapahtumasta + montakoTapahtumaa)) {
  92. view.hideRow(i);
  93. }
  94. }
  95.  
  96. view.hideColumn(0);
  97. view.hideColumn(1);
  98. view.verticalHeader()->setVisible(false);
  99. view.resizeColumnsToContents();
  100. view.setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents);
  101.  
  102. return palautus;
  103. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement