Subversion Repositories OpenInventory

Rev

Rev 127 | Rev 129 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 127 Rev 128
Line 392... Line 392...
392
        filtr_tmp.append(tr(" = '"));
392
        filtr_tmp.append(tr(" = '"));
393
        filtr_tmp.append(ID);
393
        filtr_tmp.append(ID);
394
        filtr_tmp.append(tr("'"));
394
        filtr_tmp.append(tr("'"));
395
        sql_mogel->setFilter(filtr_tmp);
395
        sql_mogel->setFilter(filtr_tmp);
396
        sql_mogel->select();
396
        sql_mogel->select();
-
 
397
-
 
398
397
        ui->tableView->setModel(sql_mogel);
399
        ui->tableView->setModel(sql_mogel);
398
        ui->tableView->resizeColumnsToContents();
400
        ui->tableView->resizeColumnsToContents();
399
401
400
        connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
402
        connect(sql_mogel, SIGNAL(dataChanged(QModelIndex,QModelIndex)), this, SLOT(on_sql_mogel_dataChanged(QModelIndex,QModelIndex)));
401
403
Line 461... Line 463...
461
        ***************************************/
463
        ***************************************/
462
464
463
465
464
        sql_mogel->select();
466
        sql_mogel->select();
465
467
-
 
468
        QMap <QString, QString> pointersList = getPointersList(class_id);
-
 
469
        QMap <int, QString> pointersToModel;
-
 
470
-
 
471
        QStringList pointersNames = pointersList.keys(); //
-
 
472
        QStringList parentInctancesList = pointersList.values();
-
 
473
-
 
474
        for (i=0; i < pointersNames.size(); i++){
-
 
475
            QString pointerName;
466
476
-
 
477
            int pointerIndex;
-
 
478
            pointerName = pointersNames.at(i);
-
 
479
            pointerIndex = sql_mogel->record().indexOf(pointerName);
-
 
480
            pointersToModel.insert(pointerIndex, parentInctancesList.at(i));
-
 
481
        }
-
 
482
-
 
483
        sql_mogel->setPointers(pointersToModel);
467
484
468
        pointer_index = sql_mogel->record().indexOf(pointer_name);
485
        pointer_index = sql_mogel->record().indexOf(pointer_name);
469
486
470
        ui->tableView->setModel(sql_mogel);
487
        ui->tableView->setModel(sql_mogel);
471
488
Line 553... Line 570...
553
ui->pushButton_3->setEnabled(true);
570
ui->pushButton_3->setEnabled(true);
554
ui->pushButton_4->setEnabled(true);
571
ui->pushButton_4->setEnabled(true);
555
572
556
573
557
}
574
}
-
 
575
-
 
576
-
 
577
// ïîëó÷àåì ñïèñîê âñåõ ïîëåé-óêàçàòåëåé, â êà÷åñòâå êëþ÷åé ïîëó÷èì èìåíà ïîëåé-óêàçàòåëåé
-
 
578
// â êà÷åñòâå çíà÷åíèé ïîëó÷èì ñïèñîê òàáëèö-õðàíèëèù îáúåêòîâ ðîäèòåëüñêèõ êëàññîâ
-
 
579
-
 
580
QMap <QString, QString>  MainWindow::getPointersList(QString class_id){
-
 
581
    QMap <QString, QString>  result_map;
-
 
582
    QSqlQuery q;
-
 
583
    QString sql_str;
-
 
584
    QString str_tmp;
-
 
585
    QString field;
-
 
586
    QString result;
-
 
587
    int field_name, field_default_value;
-
 
588
    bool ok;
-
 
589
    sql_str = tr("select * "
-
 
590
                 " from `DescriptionOfClasses` where `DescriptionOfClasses`.`FieldType` = 'pointer' and  `DescriptionOfClasses`.`ClassIdentifer` = "       //íàõîäèì âñå îáúåêòû êëàññà â òàáëèöå - õðàíèëèùå îáúåêòîâ êëàññà
-
 
591
                 );
-
 
592
-
 
593
    sql_str.append(tr("'"));
-
 
594
    sql_str.append(class_id);
-
 
595
    sql_str.append(tr("' "));
-
 
596
    // sql_str.append(tr(" and  `DescriptionOfClasses`.`ClassIdentifer` = '"));
-
 
597
    // sql_str.append(chield_class_id);
-
 
598
    // sql_str.append(tr("'"));
-
 
599
    q.prepare(sql_str);
-
 
600
-
 
601
    ok = q.exec();
-
 
602
    if (!ok) {
-
 
603
                            QMessageBox::critical( // Äèàëîã ñ ñîîáùåíèåì îá îøèáêå.
-
 
604
                                                                            this,                      // Ðîäèòåëüñêèé âèäæåò.
-
 
605
                                                                            QObject::tr("Database Error"),   // Çàãîëîâîê.
-
 
606
                                                                            q.lastError().text());          // Òåêñò ñîîáùåíèÿ.
-
 
607
                                                                            return result_map;
-
 
608
                     }
-
 
609
field_name =  q.record().indexOf(tr("FieldName"));
-
 
610
field_default_value = q.record().indexOf(tr("DefaultValue"));
-
 
611
while(q.next()){
-
 
612
        QString pointerFieldName;
-
 
613
        QString parentClassID;
-
 
614
        QString parentClassInctance;
-
 
615
-
 
616
         pointerFieldName = q.value(field_name).toString();
-
 
617
         parentClassID = q.value(field_default_value).toString();
-
 
618
         parentClassInctance =  getClassInctance(parentClassID);
-
 
619
         result_map.insert(pointerFieldName, parentClassInctance);
-
 
620
-
 
621
-
 
622
    }
-
 
623
-
 
624
return result_map;
-
 
625
}
-
 
626