16,553
社区成员
发帖
与我相关
我的任务
分享
' 选种一行订单,刷新订单明细信息,这个方法是从另一个点击事件触发的,你也可以让窗体一加窗就执行也行
Private Function selectOrderRow(ByVal rowIndex As Integer)
Dim selectedOrderNumber = (Me.orderGridView.Rows(rowIndex).Cells("orderNumber").Value)
Dim getMemberDiscountSql = "select memberDiscount from [order] where orderNumber = '{0}'"
getMemberDiscountSql = String.Format(getMemberDiscountSql, selectedOrderNumber)
Dim orderMemberDiscount = Common.getDataValue(getMemberDiscountSql, Common.getLocalConn)
orderDetailGridView.Rows.Clear()
Dim sql = "select * from orderDetail inner join product on orderDetail.serverProductId = product.serverProductId where orderNumber = '{0}'"
sql = String.Format(sql, selectedOrderNumber)
Try
Dim myReader = Common.getDataReader(sql, Common.getLocalConn)
While myReader.Read()
Dim rowProductBarcode = myReader("orderDetail.ProductBarcode")
Dim rowProductName = myReader("productName")
Dim rowProductNumber = myReader("productNumber")
Dim rowProductImage = Nothing
If (Not (myReader("productImage") Is DBNull.Value)) And File.Exists(Common.productImgPath & myReader("productImage")) Then
rowProductImage = Image.FromFile(Common.productImgPath & myReader("productImage"))
End If
Dim rowColor = myReader("color")
Dim rowSize = myReader("size")
Dim rowUnit = myReader("unit")
Dim rowSalePrice = Integer.Parse(myReader("orderDetail.salePrice"))
Dim rowBasicPrice = Integer.Parse(myReader("orderDetail.basicPrice"))
Dim rowAgentPrice = Integer.Parse(myReader("orderDetail.agentPrice"))
Dim rowOrderPrice = Integer.Parse(myReader("orderPrice"))
Dim rowPromotionPrice = Integer.Parse(myReader("orderDetail.promotionPrice"))
Dim rowOrderCount = Integer.Parse(myReader("orderCount"))
Dim rowProductDiscount = Integer.Parse(myReader("orderDetail.productDiscount"))
Dim rowDetailTotal = rowOrderPrice * rowOrderCount
Dim rowStatus = Integer.Parse(myReader("orderDetail.status"))
Dim rowStatusInfo = "销售"
If (rowStatus = 2) Then
rowStatusInfo = "退坏货"
End If
If (rowStatus = 3) Then
rowStatusInfo = "退良品"
End If
'说明下,DGV我没有直接用DGV.dataSouce=XX,而是用DGV.Rows.Add(),这样直接查出一行就加上一行,
Dim addedRowIndex = orderDetailGridView.Rows.Add(rowProductBarcode, rowProductName, rowProductNumber, rowProductImage, rowColor, rowSize, rowUnit, rowAgentPrice, rowSalePrice, rowProductDiscount, orderMemberDiscount, rowPromotionPrice, rowOrderPrice, rowOrderCount, rowDetailTotal, rowStatusInfo)
orderDetailGridView.Rows(addedRowIndex).Selected = False
If (rowStatus = 1) Then
orderDetailGridView.Rows(addedRowIndex).Cells("status").Style.ForeColor = Drawing.Color.Green
Else
orderDetailGridView.Rows(addedRowIndex).Cells("status").Style.ForeColor = Drawing.Color.Red
End If
End While
Catch ex As Exception
MsgBox(ex.ToString)
End Try
End Function
Dim imgFileStream = Nothing
If (Not (myReader("productImage") Is DBNull.Value)) And File.Exists(Common.productImgPath & myReader("productImage")) Then
imgFileStream = New IO.FileStream(Common.productImgPath & myReader("productImage"), IO.FileMode.Open, IO.FileAccess.Read)
rowProductImage = Image.FromStream(imgFileStream)
End If
Dim addedRowIndex = storageGridView.Rows.Add(rowProductBarcode, rowProductName, rowProductNumber, rowInitStorageCount, rowReceiveCount, rowDeliverCount, rowSaleCount, rowBadCount, rowStorageCount, rowProductImage)
If Not imgFileStream Is Nothing Then
imgFileStream.Close()
End If
'以上是一部分代码,也是DGV里显示图片,你看看能不能帮助你