Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- dllmysql.h:
- public:
- int rajapintafunktioDLLHaeTilitapahtumat(int idTili, QTableView &view, int montakoTapahtumaa, int mistaTapahtumasta = 0);
- ******
- dllmysql.cpp
- ******
- int DLLMySQL::rajapintafunktioDLLHaeTilitapahtumat(int idTili, QTableView &view, int montakoTapahtumaa, int mistaTapahtumasta)
- {
- return olioTietokantaMoottori->haeTilitapahtumat(idTili, view, montakoTapahtumaa, mistaTapahtumasta);
- }
- *****
- tietokantamoottori.h
- *****
- #include <QSqlTableModel>
- #include <QSortFilterProxyModel>
- #include <QTableView>
- public:
- int haeTilitapahtumat(int idTili, QTableView &view, int montakoTapahtumaa, int mistaTapahtumasta = 0);
- private:
- QSortFilterProxyModel *proxymodel;
- QSqlTableModel *model;
- ****
- tietokantamoottori.cpp
- ****
- TietokantaMoottori::TietokantaMoottori()
- {
- //qDebug() << "testi";
- QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
- db.setHostName("mysli.oamk.fi");
- db.setDatabaseName("opisk_t7lija00");
- db.setUserName("t7lija00");
- db.setPassword("TSzjTjGW2URSWdL8");
- db.open();
- if(db.open()) {
- qDebug() << "yhteys onnistui";
- }
- proxymodel = new QSortFilterProxyModel;
- model = new QSqlTableModel;
- }
- int TietokantaMoottori::haeTilitapahtumat(int idTili, QTableView &view, int montakoTapahtumaa, int mistaTapahtumasta)
- {
- int palautus;
- model->setTable("Tilitapahtuma");
- model->setFilter(QString("idTili = '%1'").arg(idTili));
- model->select();
- model->sort(0, Qt::DescendingOrder);
- model->setHeaderData(0, Qt::Horizontal, QObject::tr("ID"));
- model->setHeaderData(1, Qt::Horizontal, QObject::tr("First name"));
- model->setHeaderData(2, Qt::Horizontal, QObject::tr("Tapahtuma"));
- model->setHeaderData(3, Qt::Horizontal, QObject::tr("Aika"));
- proxymodel->setSourceModel(model);
- view.setModel(proxymodel);
- if(montakoTapahtumaa > proxymodel->rowCount()) {
- mistaTapahtumasta = 0;
- montakoTapahtumaa = proxymodel->rowCount();
- palautus = 0;
- } else if(mistaTapahtumasta < 0) {
- mistaTapahtumasta = 0;
- palautus = 0;
- } else if(mistaTapahtumasta + montakoTapahtumaa > proxymodel->rowCount()) {
- mistaTapahtumasta = proxymodel->rowCount() - montakoTapahtumaa;
- palautus = mistaTapahtumasta;
- } else {
- palautus = mistaTapahtumasta;
- }
- for(int i = 0;i <= proxymodel->rowCount();i++) {
- view.showRow(i);
- }
- for(int i = 0;i <= proxymodel->rowCount();i++) {
- if(i < mistaTapahtumasta || i >= (mistaTapahtumasta + montakoTapahtumaa)) {
- view.hideRow(i);
- }
- }
- view.hideColumn(0);
- view.hideColumn(1);
- view.verticalHeader()->setVisible(false);
- view.resizeColumnsToContents();
- view.setSizeAdjustPolicy(QAbstractScrollArea::AdjustToContents);
- return palautus;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement