Add New Row in DB Tab
行を追加
Define a QPushButton
self.btnDbAddRow = QPushButton()
Location:
ZaikoKanri.py
def setTable_Deetabeesu_6(self, isinit=True)
Related function:
- btnDbAddRow_clicked
- self.addDBRow()
- self.tblDeetabeesu.edit(self.tblDeetabeesu.currentIndex())
explanation: https://stackoverflow.com/questions/50306909/how-to-enable-edit-mode-on-a-specific-cell-in-a-qtablewidget
official document: https://doc.qt.io/qt-5/qabstractitemview.html#edit
Define an Event Filter
- def eventFilter(self, object, event):
- if object == self.tblDeetabeesu:
- self.insertTsuikaDBData()
- basically:
rowdata.append for every column in current dbRow
where dbRow = self.tblDeetabeesu.currentRow()
rowdata.append(self.tblDeetabeesu.item(dbRow, col).text()) - validity check:
ZKDB.isIDBangouAlreadyExisted(str(idb)) - interesting looping location check in QTableWidget:
if self.tblDeetabeesu.horizontalHeaderItem(col).text()==u’ID番号’: - IMPORTANT: SortOrder
ZKDB.execute(None, “Update DataCenter Set SortOrder = SortOrder+1 WHERE SortOrder>”+str(dbRow), True)
“‘Update DataCenter Set SortOrder = SortOrder+1 WHERE SortOrder>10′” - DB: Insert Into
ZKDB.insertInto_DBTable(partSQL)
- basically:
- self.insertTsuikaDBData()
- if object == self.tblDeetabeesu:
Slot Connection: tblDeetabeesu_cellChanged
- self.tblDeetabeesu.cellChanged.connect(self.tblDeetabeesu_cellChanged)
- Location:
ZaikoKanri.py
class MainDialog(QDialog)
def __init__(self):
- Location:
- tblDeetabeesu_cellChanged
- ZKDB.execute(None, sql, True)
- “Update DataCenter Set ____ WHERE IDBangou = ___”
- ZKDB.execute(None, sql, True)