01-08-22, 01:00 AM
الملف مرفق اذا انا فهمت بالشكل المطلوب
بدون قواعد بيانات فقط ان الكود الخاص بك يعمل بشكل جيد
التالي كل كلاس الفورم لمن لا يريد تحميل المرفق
PHP كود :
Public Class Form1
Private Function gid()
Return dgv.Rows.Count
End Function
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
dgv.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill
Randomize()
End Sub
Private Sub btnGen_Click(sender As System.Object, e As System.EventArgs) Handles btnGen.Click
txtbarcode.Text = Int(Rnd() * 999)
End Sub
Private Sub txtq_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles txtq.KeyDown
If e.KeyData = Keys.Enter Then
If dgv.Rows.Count = IIf(dgv.AllowUserToAddRows, 1, 0) Then
dgv.Rows.Add(gid, txtbarcode.Text, txtname.Text, txtu.Text, txtunitpr.Text, txtq.Text)
Else
For i As Integer = 0 To dgv.Rows.Count - IIf(dgv.AllowUserToAddRows, 2, 1)
If txtq.Text = "" Then
Return
Else
If dgv.Rows(i).Cells(1).Value = txtbarcode.Text Then
dgv.Rows(i).Cells(5).Value = Val(dgv.Rows(i).Cells(5).Value + Val(txtq.Text))
Else
Dim row As New DataGridViewRow
row.CreateCells(dgv)
row.Cells(0).Value = gid()
row.Cells(1).Value = txtbarcode.Text
row.Cells(2).Value = txtname.Text
row.Cells(3).Value = txtu.Text
row.Cells(4).Value = txtunitpr.Text
row.Cells(5).Value += Val(txtq.Text)
dgv.Rows.Add(row)
End If
End If
Next
End If
End If
End Sub
Private Sub dgv_RowsAdded(sender As Object, e As System.Windows.Forms.DataGridViewRowsAddedEventArgs) Handles dgv.RowsAdded
dgv.Rows(e.RowIndex).Cells(6).Value = Val(dgv.Rows(e.RowIndex).Cells(4).Value) * Val(dgv.Rows(e.RowIndex).Cells(5).Value)
End Sub
End Class
اللهم إني أعوذ بك من غلبة الدين وغلبة العدو، اللهم إني أعوذ بك من جهد البلاء ومن درك الشقاء ومن سوء القضاء ومن شماتة الأعداء
اللهم اغفر لي خطيئتي وجهلي، وإسرافي في أمري وما أنت أعلم به مني، اللهم اغفر لي ما قدمت وما أخرت، وما أسررت وما أعلنت وما أنت أعلم به مني، أنت المقدم وأنت المؤخر وأنت على كل شيء قدير

