def __init__(self, parent, tableName, keys = None): super(ChangeRecord, self).__init__(parent) self.tableView = parent self.setModal(True) self.gbox = QtGui.QGridLayout(self) self.buttonBox = QtGui.QDialogButtonBox(self) self.buttonBox.setOrientation(QtCore.Qt.Horizontal) self.buttonBox.setStandardButtons(QtGui.QDialogButtonBox.Cancel|QtGui.QDialogButtonBox.Ok) self.buttonBox.setCenterButtons(True) self.table = appInst.getTable(tableName) self.fields = appInst.getVisibleHeaders(self.table) self.rec = None self.keys = keys if keys: self.rec = appInst.getRecord(tableName, keys) self.createEdits() self.buttonBox.accepted.connect(self.checkCorrectness) self.buttonBox.rejected.connect(self.reject)
def fillCells(self): self.ui.tableWidget.clearContents() fields = appInst.getVisibleHeaders(appInst.getTable(self.tableName)) values = appInst.selectAllWithForeignValues(self.tableName, self.isReport) self.ui.tableWidget.setRowCount(len(values) + (1 if self.isReport else 0)) row = -1 for value in values: row = row + 1 column = -1 for item in value: column = column + 1 it = item if isEnum(fields[column]): it = globals()[fields[column].name][int(item)] newitem = QtGui.QTableWidgetItem(str(it)) self.ui.tableWidget.setItem(row, column, newitem) if self.isReport: newitem = QtGui.QTableWidgetItem(str(appInst.cntSum())) self.ui.tableWidget.setItem(row + 1, column, newitem) self.primaryKeys = self.findPrimaryKeys()