Проблема возникает, когда элемент уже находится в DataGridView
, а затем при повторном вводе одного и того же элемента количество и сумма не увеличиваются и не увеличиваются. Он просто перечислит один и тот же элемент.Как добавить количество в существующий элемент в DataGridView - vb.net
например.
Item Code ProductName Unit Item Description Price Quantity Total Discount
06-098 Biogesic 500mg Paracetamol 5.50 1 5.50 0.00
Он имеет TextBox
для ввода штрих-кода и она будет перечислять пункт в DataGridView
.
Вот мой код:
Private Sub txtbxBarcode_TextChanged(sender As Object, e As EventArgs) Handles txtbxBarcode.TextChanged
GetProductInfo()
End Sub
Private Sub GetProductInfo()
Dim discountAmount As Double
Dim medicineName, unit As String
Try
SQL = "SELECT product_code, Medicine_name, Unit, Description, Price, medicineID FROM medicine_info WHERE barcode = '" & txtbxBarcode.Text & "'"
ConnDB()
cmd = New MySqlCommand(SQL, conn)
dr = cmd.ExecuteReader
If dr.Read = True Then
txtbxItemCode.Text = dr("product_code")
unit = dr("Unit")
medicineName = dr("Medicine_name")
txtbxItemDesc.Text = dr("Description")
'Validate Discount
If isDiscount = True Then
discountAmount = Val(dr("Price")) * (Val(discountPercent)/100)
txtbxPrice.Text = Format(Val(dr("Price")) - discountAmount, "#,##0.00")
Else
txtbxPrice.Text = Format(dr("Price"), "#,##0.00")
discountAmount = 0
End If
'Validate Quantity
If isQuantity = True Then
txtbxQuantity.Text = noOfItems
Else
txtbxQuantity.Text = 1
End If
txtbxTotal.Text = Format(Val(txtbxPrice.Text.Replace(",", "")) * Val(txtbxQuantity.Text), "#,##0.00")
'Adding Item to Gridview to Display
dgv.Rows.Add(dr("medicineID"), dr("product_code"), dr("Medicine_name"), dr("Unit"), dr("Description"), txtbxPrice.Text, txtbxQuantity.Text, txtbxTotal.Text, Format(discountAmount * Val(txtbxQuantity.Text), "#,##0.00"))
'Get Basket Info
BasketInformation()
'Clear Barcode text field
txtbxBarcode.Clear()
'Set Discount to Zero
discountPercent = 0
isDiscount = False
'Set Quantity to False
isQuantity = False
noOfItems = 1
End If
Catch ex As Exception
MsgBox(ex.ToString)
Finally
cmd.Dispose()
conn.Close()
End Try
End Sub
Добро пожаловать в переполнение стека. Вы можете улучшить свой вопрос. Пожалуйста, прочитайте [Минимальный, Полный и Подтверждаемый пример] (http://stackoverflow.com/help/mcve). Когда ваш код показывает вашу точную проблему ни с чем лишним, вы проявляете уважение к тем, кто добровольно помогает вам. – zhon
Вы можете помочь нам помочь в форматировании, чтобы у нас не было прокрутки. – zhon
Вы должны добавить/обновить базовый источник данных datagridview, а не сами значения datagridview –