منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب

نسخة كاملة : محتاج كود للبحث
أنت حالياً تتصفح نسخة خفيفة من المنتدى . مشاهدة نسخة كاملة مع جميع الأشكال الجمالية .
الصفحات : 1 2 3
PHP كود :
Private Sub Form1_Load(ByVal sender As ObjectByVal e As EventArgsHandles MyBase.Load
    dgv_data
.AllowUserToAddRows False

End Sub

Private Sub TextBox1_KeyPress(ByVal sender As ObjectByVal e As KeyPressEventArgsHandles TextBox1.KeyPress
    Select 
Case e.KeyChar

        
Case ChrW(Keys.Enter)

            
Dim code sender.Text.Trim
            Dim qty 
As Integer 1

            Dim spP
() As String sender.Text.Trim.Split("+")
            If 
spP.Count 2 Then
                code 
spP(0)
                
qty Val(spP(1))
            
End If

            
Dim spM() As String sender.Text.Trim.Split("-")
            If 
spM.Count 2 Then
                code 
spM(0)
                
qty = -spM(1)
            
End If

            
Using dp As New OleDb.OleDbDataAdapter("SELECT * FROM [Items] WHERE [ItemCode] = @code"con)
                
dp.SelectCommand.Parameters.AddWithValue("@code"code)
                
Dim dt_itm As New DataTable
                
If dp.Fill(dt_itm) > 0 Then
                    Dim r 
As DataRow dt_itm.Rows(0)

                    
dgv_data.ClearSelection()

                    
Dim dgvRow As DataGridViewRow = (From x In Me.dgv_data.Rows Where x.Cells(0).Value r("ItemCode")).SingleOrDefault
                    
If IsNothing(dgvRowThen
                        
If qty 0 Then
                            Dim total 
As Double = (qty Val(r("ItemPrice"))).ToString("0.00")
                            
dgv_data.Rows.Add(r("ItemCode"), r("ItemName"), r("ItemPrice"), qtytotal)

                            
dgv_data.FirstDisplayedScrollingRowIndex dgv_data.Rows.Count 1
                            dgv_data
.Rows(dgv_data.Rows.Count 1).Selected True
                        End 
If

                    Else

                        
dgvRow.Cells(3).Value += qty
                        Dim total 
As Double = (Val(dgvRow.Cells(2).Value) * Val(dgvRow.Cells(3).Value)).ToString("0.00")
                        
dgvRow.Cells(4).Value total

                        dgv_data
.FirstDisplayedScrollingRowIndex dgvRow.Index
                        dgv_data
.Rows(dgvRow.Index).Selected True

                        
If dgvRow.Cells(3).Value <= 0 Then Me.dgv_data.Rows.RemoveAt(dgvRow.Index)

                    
End If

                    
sender.Clear()
                    
sender.Select()

                Else
                    
MsgBox("Item not found")

                
End If
            
End Using

        
Case "+"
            
If sender.Text.Trim "" Then
                Dim dgvRow 
As DataGridViewRow = (From x In Me.dgv_data.Rows).LastOrDefault
                
If Not IsNothing(dgvRowThen
                    dgvRow
.Cells(3).Value += 1
                    Dim total 
As Double = (Val(dgvRow.Cells(2).Value) * Val(dgvRow.Cells(3).Value)).ToString("0.00")
                    
dgvRow.Cells(4).Value total
                End 
If
                
e.Handled True
            End 
If

        Case 
"-"
            
If sender.Text.Trim "" Then
                Dim dgvRow 
As DataGridViewRow = (From x In Me.dgv_data.Rows).LastOrDefault
                
If Not IsNothing(dgvRowThen
                    dgvRow
.Cells(3).Value -= 1
                    Dim total 
As Double = (Val(dgvRow.Cells(2).Value) * Val(dgvRow.Cells(3).Value)).ToString("0.00")
                    
dgvRow.Cells(4).Value total
                    
If dgvRow.Cells(3).Value 0 Then Me.dgv_data.Rows.RemoveAt(dgvRow.Index)
                
End If
                
e.Handled True
            End 
If


    
End Select

End Sub

Private Sub TextBox1_KeyUp(ByVal sender As ObjectByVal e As KeyEventArgsHandles TextBox1.KeyUp
    Dim dgvRow 
As DataGridViewRow = (From x In Me.dgv_data.Rows Where x.Cells(0).Value Val(sender.Text)).SingleOrDefault
    
If Not IsNothing(dgvRowThen
        dgv_data
.ClearSelection()
        
dgv_data.FirstDisplayedScrollingRowIndex dgvRow.Index
        dgv_data
.Rows(dgvRow.Index).Selected True
    End 
If
    If 
e.KeyCode Keys.Delete Then
        
If Not IsNothing(dgvRowThen
            dgv_data
.Rows.Remove(dgvRow)
            
dgv_data.ClearSelection()
            
sender.Clear()
        
End If
    
End If
End Sub 
نحتاج الان كود الحفظ في قاعدة البيانات

بعد عمليات البحث نحتاج ادراج محتويات الداتا جريد الى الجدول

ان شاء الله بعد الانتهاء من اظافة الاكواد نرفع المثال للفايدة العامة
الأخ احمد جزاك الله خير ممكن تساعدنا في كود الحفظ ياغالي
كود :
       For i As Integer = 0 To DataGridView1.RowCount - 2
           Dim sql As String = "INSERT INTO CRE(inv,part_no,des,qty,up,tp) Values (@inv, @part_no, @des, @qty, @up,@tp)"
           Dim cm As New OleDbCommand(sql, con)
           With cm.Parameters
               .AddWithValue("@inv", TextBox2.Text).DbType = DbType.String
               .AddWithValue("@part_no", DataGridView1.Rows(i).Cells(0).Value).DbType = DbType.String
               .AddWithValue("@des", DataGridView1.Rows(i).Cells(1).Value).DbType = DbType.String
               .AddWithValue("@qty", DataGridView1.Rows(i).Cells(2).Value).DbType = DbType.Int32
               .AddWithValue("@up", DataGridView1.Rows(i).Cells(3).Value).DbType = DbType.Currency
               .AddWithValue("@tp", DataGridView1.Rows(i).Cells(4).Value).DbType = DbType.Currency
           End With
           con.Open()
           cm.ExecuteNonQuery()
           con.Close()

       Next
       MessageBox.Show("تم حفظ البيانات بنجاح ")
       'TextBox2.Text = ""
       DataGridView1.Rows.Clear()
يا اخوان احتاج طريقة الضرب بالنسبة المؤية

عندي في الداتا جريد عمود رقم 4 يحتوي على قيمة الضريبة وعمود رقم 5 يحتوي على اجمالي سعر الصنف
اريد ضرب عمود رقم 5 في عمود رقم 4 بالنسبة المؤية واظهار النتيجة في عمود رقم 6
الصفحات : 1 2 3