QTableView와 함께 QSqlTableModel을 사용하려고하는데 2 개의 열 updated_date 및 created_date를 쉽게 숨기고 싶지만 사용자가 TableView에서 데이터를 편집 할 수 있고 완료되면 (또는 해당 데이터를 제출할 때) updated_date는 자동으로 현재 날짜 시간으로 업데이트됩니다. 데이터베이스 엔진이 아닌 프로그램이 필요합니다. 이렇게하려면 어떤 단계를 따라야합니까? setData 메서드를 구현하려고 생각했지만 방법을 모르겠습니다. 시간과 도움을 주셔서 대단히 감사합니다.
하위 클래스의 setData()
기능을 다시 구현 QSqlTableModel
하고 다음과 같이 만들 수 있습니다 .
virtual bool YourModel::setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole)
{
if (index.column() != updated_date) {
QSqlTableModel::setData(index(index.row(), updated_date), QDate::currentDate(), role);
}
return QSqlTableModel::setData(index, value, role);
}
그러나이 작업에는 데이터베이스 트리거를 사용하는 것이 좋습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다