Пример #1
0
    def _inittablewidget(self): 
        headerLabels=[u'行号', u'物料编号', u'物料名称', u'内玉', u'材质',u'颜色',u'单位', u'单价', u'数量', u'总金额', u'交货日期', u'备注']
        headerLabelsWidth=[40, 100, 150, 80, 160, 160, 60, 100, 100, 80, 100]
        self.tableWidget.setColumnCount(len(headerLabels))
        self.tableWidget.setHorizontalHeaderLabels(headerLabels)

        for i in range(len(headerLabelsWidth)):
            self.tableWidget.setColumnWidth(i, headerLabelsWidth[i])   
        self.tableWidget.horizontalHeader().setStretchLastSection(True)
        
        querydetail=QSqlQuery()
        querydetail.prepare(u"SELECT `行号`, `物料编号`, `物料名称`, `内玉`, `材质`,`颜色`,`单位`, `单价`, `数量`, `交货日期`, `备注` FROM sodetail WHERE `销售订单`=? ")
        querydetail.bindValue(0, self.soid)
        if querydetail.exec_()==True:            
            row=0
            while querydetail.next():
                self.tableWidget.insertRow(row)
                for j in range(self.tableWidget.columnCount()):
                    self.tableWidget.setItem(row, j,QTableWidgetItem("") )
                self.tableWidget.item(row, 0).setText(querydetail.value(0).toString())                
                productid=socomboBox(self.tableWidget, row)
                productid.setEditText(querydetail.value(1).toString())                 
                self.tableWidget.setCellWidget(row,1, productid )
                
                self.tableWidget.item(row, 2).setText(querydetail.value(2).toString())
                self.tableWidget.item(row, 3).setText(querydetail.value(3).toString())  
                self.tableWidget.item(row, 4).setText(querydetail.value(4).toString())
                self.tableWidget.item(row, 5).setText(querydetail.value(5).toString()) 
                self.tableWidget.item(row, 6).setText(querydetail.value(6).toString())
                
                doublevalidator=QDoubleValidator(-10000000.0,99999999.0 , 4)
                double_validator=QDoubleValidator(0, 100000000.0, 2)        
                lineEdit_quantity=GQLineEdit()
                lineEdit_price=GQLineEdit()
                lineEdit_price.setText(querydetail.value(7).toString())
                lineEdit_quantity.setText(querydetail.value(8).toString())
                lineEdit_price.setFrame(False)
                lineEdit_quantity.setFrame(False)
                lineEdit_quantity.setValidator(double_validator)
                lineEdit_price.setValidator(doublevalidator)
                self.tableWidget.setCellWidget(row, 8, lineEdit_quantity)
                self.tableWidget.setCellWidget(row, 7, lineEdit_price)
                lineEdit_price.editingFinished.connect(self.finishedPrice)
                lineEdit_quantity.editingFinished.connect(self.finishedQuantity)
                
                initialamount=querydetail.value(8).toDouble()[0]*querydetail.value(7).toDouble()[0]       
                self.tableWidget.item(row, 9).setText(str(initialamount))
                deliveryDate=QDateEdit()
                deliveryDate.setFrame(False)
                deliveryDate.setDate(self.dateEdit_orderDelieve.date())
                deliveryDate.setCalendarPopup(True)
                self.tableWidget.setCellWidget(row, 10, deliveryDate)
                self.tableWidget.item(row, 11).setText(querydetail.value(10).toString())
                self.cellWidgets.append([self.tableWidget.item(row, 0), productid,lineEdit_price,lineEdit_quantity , deliveryDate , self.tableWidget.item(row, 11)])
                row+=1
        self.insertCountLine()
Пример #2
0
   def insertNewRow(self, row): 
       if row!=0: 
           largestItemNo=(int(self.cellWidgets[len(self.cellWidgets)-1][0].text())/10+1)*10
       else:
           largestItemNo=10
           
       self.tableWidget.insertRow(row)        
       currentItem=QTableWidgetItem(str(largestItemNo))
       self.tableWidget.setItem(row, 0, currentItem)#设置行项号  
       
       for j in range(1, self.tableWidget.columnCount()):
           self.tableWidget.setItem(row, j,QTableWidgetItem("") )
 
 
       productid=socomboBox(self.tableWidget, row)        
       self.tableWidget.setCellWidget(row,1, productid )
       
       doublevalidator=QDoubleValidator(-10000000.0,99999999.0 , 4)
       double_validator=QDoubleValidator(0, 100000000.0, 2)        
       lineEdit_quantity=GQLineEdit()
       lineEdit_price=GQLineEdit()
       lineEdit_price.setFrame(False)
       lineEdit_quantity.setFrame(False)
       lineEdit_quantity.setValidator(double_validator)
       lineEdit_price.setValidator(doublevalidator)
       self.tableWidget.setCellWidget(row, 8, lineEdit_quantity)
       self.tableWidget.setCellWidget(row, 7, lineEdit_price)
       
       lineEdit_price.editingFinished.connect(self.finishedPrice)
       lineEdit_quantity.editingFinished.connect(self.finishedQuantity) 
       
       self.tableWidget.setItem(row, 9, QTableWidgetItem(""))        
       deliveryDate=QDateEdit()
       deliveryDate.setFrame(False)
       deliveryDate.setDate(self.dateEdit_orderDelieve.date())
       deliveryDate.setCalendarPopup(True)
       self.tableWidget.setCellWidget(row, 10, deliveryDate)
       
       lineEdit_remark=QLineEdit()
       lineEdit_remark.setFrame(False)
       self.tableWidget.setCellWidget(row, 11, lineEdit_remark)
       self.cellWidgets.append([currentItem, productid,lineEdit_price,lineEdit_quantity , deliveryDate , lineEdit_remark])