1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53
|
/* constructeur */
CatForm::CatForm(QWidget *parent ) :
QWidget(parent) ,
catui(new(Ui::CatForm))
{
catui->setupUi(this);
/* recuperation des categories parentes pour la combo box */
/* on reconnect la db */
QSqlDatabase db = QSqlDatabase::database() ;
/* on stocke les categorie de la db dans un model et on masque la colone idcat */
QSqlTableModel * catModel = new QSqlTableModel;
catModel->setTable("category");
catModel->setEditStrategy(QSqlTableModel::OnManualSubmit);
catModel->setHeaderData(0, Qt::Horizontal, QWidget::tr("idcat"));
catModel->setHeaderData(1, Qt::Horizontal, QWidget::tr("category"));
catModel->sort(1,Qt::AscendingOrder);
catModel->select();
catui->ParentCat->setModel(catModel);
catui->ParentCat->setModelColumn(1);
/* slots pour ajouter la nouvelle categorie a la db quand on clique sur le boutton ajouter */
connect(catui->AddCatSubmit,SIGNAL(clicked()),this,SLOT(AddCategory())) ;
}
/* ajout d'une categorie */
void CatForm::AddCategory()
{
/* on ajoute a la db la categorie mentionne dans le champ */
QSqlQueryModel *model = static_cast<QSqlQueryModel *>(catui->ParentCat->model());
query.prepare("INSERT INTO category (category,idparent) VALUES (:catname,:parentcatid)");
query.bindValue(":catname",catui->CatName->text());
query.bindValue(":parentcatid",model->data(model->index(catui->ParentCat->currentIndex(), 0)).toInt());
query.exec();
} |
Partager