Beispiel #1
0
void cutDialog::ok_edit_button()
{
    int row = listWidget ->currentRow();

    QListWidgetItem * item = listWidget ->item(row);
    int key = item->data(Qt::UserRole).toInt();
    QString newContent = cutEdit ->toPlainText();
    newContent = newContent.replace(QRegExp("'"),"''");
    QString updateSql = "update info set content = '" + newContent + "' where id = " +
            QString::number(key);
    QSqlQuery query;
    query.exec(updateSql);

    QString selectSql = "select * from info where id = " + QString::number(key);
    query.exec(selectSql);
    QString ele1;
    QString ele2;
    while (query.next())
    {
        allEdit ->clear();
        QString eleEdit1 = "日期:" + query.value(1).toString() + "\n";
        QString eleEdit2 = "类型:" + query.value(2).toString() + "\n";
        QString eleEdit3 = "内容:" + query.value(3).toString() + "\n";
        allEdit ->setPlainText(eleEdit1 + eleEdit2 + eleEdit3);
        ele1 = "<-----------------------日期:" + query.value(1).toString() + "------------------->"+"\n";
        ele2 = query.value(3).toString();
    }

    if(ele2.length() >= 50)
    {
        ele2 = ele2.left(20) + "..." + ele2.right(20);
    }
    else
    {
        ele2 = ele2;
    }

    updateCurrentRow(ele1+ele2);
    editDialog ->close();
    delete editDialog;
}
Beispiel #2
0
bool Documents::add()
{
    QDate date = QDate().currentDate();
    if ((date < TApplication::exemplar()->getBeginDate() || date > TApplication::exemplar()->getEndDate()))
    {
        QMessageBox::warning(app->getMainWindow(), "Внимание!", "Cегодняшняя дата находится вне рабочего периода. Установите правильный рабочий период.");
        if (date < TApplication::exemplar()->getBeginDate())
            date = TApplication::exemplar()->getBeginDate();
        else if (date > TApplication::exemplar()->getEndDate())
            date = TApplication::exemplar()->getEndDate();
    }
    else
    {
        int strNum = db->addDoc(operNumber, date);
        if (strNum > 0)
        {
            int newRow = tableModel->rowCount();
/*
            if (newRow == 0)
            {
                query();
                setId(strNum);
            }
            else
            {
*/
                tableModel->insertRow(newRow);          // POSSIBLY MEMORY LEAK
                grdTable->reset();
                grdTable->selectRow(newRow);            // Установить фокус таблицы на последнюю, только что добавленную, запись
                setCurrentRow(newRow);
                updateCurrentRow(strNum);
//            }
            setCurrentDocument(strNum);
            saveOldValues();
            form->setButtons();
            grdTable->setFocus();
            return true;
        }
    }
    return false;
}
Beispiel #3
0
bool Documents::add()
{
    QDate date = QDate().currentDate();
    if ((date >= TApplication::exemplar()->getBeginDate() && date <= TApplication::exemplar()->getEndDate()))
    {
/*
        if (date < TApplication::exemplar()->getBeginDate())
            date = TApplication::exemplar()->getBeginDate();
        else if (date > TApplication::exemplar()->getEndDate())
            date = TApplication::exemplar()->getEndDate();
*/
        int strNum = db->addDoc(operNumber, date);
        if (strNum > 0)
        {
            int newRow = tableModel->rowCount();
            if (newRow == 0)
            {
                query();
                setId(strNum);
            }
            else
            {
                int column = grdTable->currentIndex().column();
                tableModel->insertRow(newRow);
                grdTable->reset();
                grdTable->selectRow(newRow);            // Установить фокус таблицы на последнюю, только что добавленную, запись
                updateCurrentRow(strNum);
                grdTable->selectionModel()->setCurrentIndex(grdTable->currentIndex().sibling(newRow, column), QItemSelectionModel::Select);
            }
            setCurrentDocument(strNum);
            Essence::saveOldValues();
            form->setButtons();
            grdTable->setFocus();
            return true;
        }
        return false;
    }
    QMessageBox::warning(app->getMainWindow(), "Внимание!", "Не могу создать документ, т.к. сегодняшняя дата находится вне рабочего периода. Установите правильный рабочий период.");
    return false;
}