كود :
Public Class FACTVENTE
Private Sub FACTVENTE_Load(sender As Object, e As EventArgs) Handles MyBase.Load
'// fillDGV(DataGridView1, "select * from PRODUITS order by CODEPRODUIT")
' TEXTVENTECODE.Text = CODE_GEN("FACTVENTE", "VENTECODE") + 1
TEXTTOTALVENTE.Text = "0.00"
End Sub
Sub retour_FACTVENTE(ByVal CODE_)
DataGridView2.Rows.Clear()
Dim DT As New DataTable
Dim da As New SqlClient.SqlDataAdapter("SELECT * FROM FACTVENTE where VENTECODE = " & CODE_ & "", sqlConn)
da.Fill(DT)
'If DT.Rows.Count = 0 Then
' MessageBox.Show("الرجاء التأكد من رقم الفاتورة", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)
'Else
Dim dr = DT.Rows(0)
TEXTVENTECODE.Text = dr!VENTECODE
TEXTVENTETYPE.Text = dr!VENTETYPE
TEXTNOMCLIENT.Text = dr!NOMCLIENT
VENTEDATE.Value = dr!VENTEDATE
TEXTTOTALVENTE.Text = dr!TOTALVENTE
Dim DS As New DataSet
da = New SqlClient.SqlDataAdapter("SELECT * FROM DETFACTVENTE where FACTVENTECODE = " & CODE_ & "", sqlConn)
DS = New DataSet
da.Fill(DS)
DT = DS.Tables(0)
For I = 0 To DT.Rows.Count - 1
DataGridView2.Rows.Add()
DataGridView2.Rows(I).Cells(0).Value = DT.Rows(I).Item("CODEPRODUIT")
DataGridView2.Rows(I).Cells(1).Value = DT.Rows(I).Item("NOMPRODUIT")
DataGridView2.Rows(I).Cells(3).Value = DT.Rows(I).Item("PRIXACHATPRODUIT")
DataGridView2.Rows(I).Cells(4).Value = DT.Rows(I).Item("PRIXVENTEPRODUIT")
DataGridView2.Rows(I).Cells(5).Value = DT.Rows(I).Item("TOTALE")
DataGridView2.Rows(I).Cells(6).Value = DT.Rows(I).Item("QTTVENDUE")
Dim DT1 As New DataTable
Dim DA1 As New SqlClient.SqlDataAdapter("SELECT * FROM PRODUITS WHERE NOMPRODUIT LIKE N'" & DataGridView2.Rows(I).Cells(1).Value & "'", sqlConn)
DA1.Fill(DT1)
Dim BAR As Integer
BAR = DataGridView2.Rows.Count - 1
DataGridView2(2, BAR).Value = DT1.Rows(0).Item("QTTPRODUIT")
Next
End Sub
Private Sub DataGridView1_CellContentClick(sender As Object, e As DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
If DataGridView1(0, DataGridView1.CurrentRow.Index).Selected = True Then
'For I = 0 To SALEPIL.DataGridView2.Rows.Count - 1
textBcode.Text = DataGridView2.CurrentRow.Cells(1).Value
textBcode_Leave(sender, e)
End If
End Sub
Private Sub textBcode_TextChanged(sender As Object, e As EventArgs) Handles textBcode.TextChanged
End Sub
Sub calc()
Dim SelecedGridView As DataGridView
For Each ctrl As Control In TabControl1.SelectedTab.Controls
Dim dgv As DataGridView = TryCast(ctrl, DataGridView)
If dgv IsNot Nothing Then
SelecedGridView = dgv
Exit For
End If
Next
' الان للتعامل مع الداتا جريد المحددة استخدم المتغير SelecedGridView
'
'
For i As Integer = 0 To SelecedGridView.Rows.Count - 1
SelecedGridView.Rows(i).Cells(5).Value = Val(SelecedGridView.Rows(i).Cells(4).Value) * Val(SelecedGridView.Rows(i).Cells(6).Value)
'SelecedGridView.Rows(i).Cells(7).Value = Val(SelecedGridView.Rows(i).Cells(2).Value) - Val(SelecedGridView.Rows(i).Cells(6).Value)
Next
Dim tot As Double
For i = 0 To SelecedGridView.Rows.Count - 1
tot = Val(tot) + Val(SelecedGridView.Rows(i).Cells(5).Value)
'disc = Val(disc) + Val(DataGridView1.Rows(i).Cells(5).Value)
'qttin = Val(qttin) + Val(DataGridView1.Rows(i).Cells(4).Value)
'numeroitem = DataGridView1.Rows.Count
Next
TEXTTOTALVENTE.Text = Val(tot)
'textsale_ITEM_COUNT.Text = numeroitem
'TOTALQTT.Text = qttin
'fauxsaletotale.Text = Val(saleTOTAL.Text)
'Dim r As Decimal
'r = Convert.ToDecimal(fauxsaletotale.Text)
End Sub
Private Sub textBcode_Leave(sender As Object, e As EventArgs) Handles textBcode.Leave
Dim SelecedGridView As DataGridView
For Each ctrl As Control In TabControl1.SelectedTab.Controls
Dim dgv As DataGridView = TryCast(ctrl, DataGridView)
If dgv IsNot Nothing Then
SelecedGridView = dgv
Exit For
End If
Next
' الان للتعامل مع الداتا جريد المحددة استخدم المتغير SelecedGridView
'
'
'For M As Integer = 0 To DataGridView2.Rows.Count - 1
' DataGridView2.Rows(M).Cells(5).Value = Date.Now
'Next
'For g As Integer = 0 To DataGridView1.Rows.Count - 1
' 'Dim textdate1 As Date = DataGridView1.Rows(g).Cells(8).Value
' Dim textdate2 As Date = DataGridView1.Rows(g).Cells(10).Value
' Dim result As TimeSpan = textdate1 - textdate2
' Label12.Text = CInt(result.Days)
' DataGridView1.Rows(g).Cells(10).Value = Label12.Text
'Next
If textBcode.Text <> Nothing Then
Dim DT As New DataTable
Dim DA As New SqlClient.SqlDataAdapter("SELECT * FROM PRODUITS WHERE NOMPRODUIT LIKE N'" & textBcode.Text & "'", sqlConn)
DA.Fill(DT)
If DT.Rows.Count > 0 Then
'______________________التحقق من كود الصنف
For I = 0 To SelecedGridView.Rows.Count - 1
If SelecedGridView.Rows(I).Cells(0).Value = DT.Rows(0).Item("CODEPRODUIT") Then
SelecedGridView.Rows(I).Cells(6).Value = SelecedGridView.Rows(I).Cells(6).Value + 1
calc()
textBcode.Clear()
Exit Sub
End If
Next
'______________________إضافة سجل للداتا قريد
Dim BAR As Integer
SelecedGridView.Rows.Add()
BAR = SelecedGridView.Rows.Count - 1
SelecedGridView(0, BAR).Value = DT.Rows(0).Item("CODEPRODUIT")
SelecedGridView(1, BAR).Value = DT.Rows(0).Item("NOMPRODUIT")
SelecedGridView(2, BAR).Value = DT.Rows(0).Item("QTTPRODUIT")
SelecedGridView(3, BAR).Value = DT.Rows(0).Item("PRIXACHATPRODUIT")
SelecedGridView(4, BAR).Value = DT.Rows(0).Item("PRIXVENTEPRODUIT")
'SelecedGridView(7, BAR).Value = DT.Rows(0).Item("QTTPRODUIT")
'SelecedGridView(5, BAR).Value = DT.Rows(0).Item("TOTALE")
'SelecedGridView(7, BAR).Value = DT.Rows(0).Item("ITEM_TAKLOFA")
SelecedGridView(6, BAR).Value = 1
SelecedGridView(6, BAR).Selected = True
calc()
Else
'FRM_ITEMS.Show()
'Clipboard.SetText(textBcode.Text.Trim())
'FRM_ITEMS.textBarecode.Paste()
Console.Beep()
End If
End If
textBcode.Clear()
textBcode.Focus()
calc()
'If DataGridView1.Rows.Count > 0 Then
' GroupBox17.Visible = False
'Else
' GroupBox17.Visible = True
'End If
End Sub
Private Sub textBcode_KeyDown(sender As Object, e As KeyEventArgs) Handles textBcode.KeyDown
If e.KeyCode = Keys.Enter Then
textBcode_Leave(sender, e)
End If
End Sub
Private Sub btnsave_Click(sender As Object, e As EventArgs) Handles btnsave.Click
Dim SelecedGridView As DataGridView
For Each ctrl As Control In TabControl1.SelectedTab.Controls
Dim dgv As DataGridView = TryCast(ctrl, DataGridView)
If dgv IsNot Nothing Then
SelecedGridView = dgv
Exit For
End If
Next
' الان للتعامل مع الداتا جريد المحددة استخدم المتغير SelecedGridView
'
'
If SelecedGridView.Rows.Count = 0 Then
MessageBox.Show("لا توجد اصناف لحفظها", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
End If
For I As Integer = 0 To SelecedGridView.Rows.Count - 1
If SelecedGridView.Rows(I).Cells(6).Value = 0 Then
MessageBox.Show("الرجاء التحقق من الكمية", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Next
Dim dt As New DataTable
Dim da As New SqlClient.SqlDataAdapter("select * from FACTVENTE where VENTECODE = " & TEXTVENTECODE.Text & "", sqlConn)
da.Fill(dt)
'If dt.Rows.Count > 0 Then
' TEXTVENTECODE.Text = CODE_GEN("SALEPIL", "SALE_CODE") + 1
'Else
Dim DR = dt.NewRow
DR!VENTECODE = TEXTVENTECODE.Text
DR!VENTETYPE = TEXTVENTETYPE.Text
DR!NOMCLIENT = TEXTNOMCLIENT.Text
DR!VENTEDATE = VENTEDATE.Value
DR!TOTALVENTE = TEXTTOTALVENTE.Text
'DR!SALE_ITEM_COUNT = textsale_ITEM_COUNT.Text
' DR!SALE_TOTAL_ARABIC = TOTALARABIC.Text
' DR!SALE_TOTAL_QTT = TOTALQTT.Text
' DR!SALE_USER = TOOLUSER.Text
' DR!CUST_FAREK = Val(TextBox5.Text)
' DR!SALE_STATE = True
dt.Rows.Add(DR)
Dim save As New SqlClient.SqlCommandBuilder(da)
da.Update(dt)
'End If
da = New SqlClient.SqlDataAdapter("select * from DETFACTVENTE", sqlConn)
da.Fill(dt)
For I As Integer = 0 To SelecedGridView.Rows.Count - 1
Dim DR1 = dt.NewRow
DR1!FACTVENTECODE = TEXTVENTECODE.Text
DR1!VENTEDATE = VENTEDATE.Value
DR1!CODEPRODUIT = SelecedGridView.Rows(I).Cells(0).Value
DR1!NOMPRODUIT = SelecedGridView.Rows(I).Cells(1).Value
'DR1!ITEM_UNITE = SelecedGridView.Rows(I).Cells(2).Value
DR1!QTTVENDUE = Val(SelecedGridView.Rows(I).Cells(6).Value)
DR1!PRIXVENTEPRODUIT = Val(SelecedGridView.Rows(I).Cells(4).Value)
DR1!PRIXACHATPRODUIT = Val(SelecedGridView.Rows(I).Cells(3).Value)
DR1!TOTALE = Val(SelecedGridView.Rows(I).Cells(5).Value)
DR1!QTTPRODUITINITIAL = Val(SelecedGridView.Rows(I).Cells(7).Value)
'DR1!SALE_ITEM_COUNT = textsale_ITEM_COUNT.Text
'DR1!SALE_USER = TOOLUSER.Text
DR1!QTTPRODUIT = SelecedGridView.Rows(I).Cells(2).Value
'DR1!ITEM_BARE = SelecedGridView.Rows(I).Cells(8).Value
'DR1!ITEM_TAKLOFA = SelecedGridView.Rows(I).Cells(9).Value
'DR1!ITEM_PLACE = SelecedGridView.Rows(I).Cells(5).Value
'DR1!SALE_DET_STATUS = True
dt.Rows.Add(DR1)
Dim cmd As New SqlClient.SqlCommandBuilder(da)
da.Update(dt)
Next
'__________________________________طرح الكمية
For M As Integer = 0 To SelecedGridView.Rows.Count - 1
Dim newqtt As Integer
newqtt = Val(SelecedGridView.Rows(M).Cells(2).Value) - Val(SelecedGridView.Rows(M).Cells(6).Value)
Dim cmd1 As New SqlClient.SqlCommand
cmd1.Connection = sqlConn
cmd1.CommandText = " UPDATE PRODUITS SET QTTPRODUIT = " & newqtt & " where NOMPRODUIT = N'" & SelecedGridView.Rows(M).Cells(1).Value & " '"
cmd1.ExecuteNonQuery()
Next
'b_Click(sender, e)
MessageBox.Show("تم حفظ الفاتورة بنجاح", "رسالة تنبيه", MessageBoxButtons.OK, MessageBoxIcon.Information)
'End If
'SelecedGridView.Rows.Clear()
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
''Dim r As Decimal
''r = Convert.ToDecimal(TEXTTOTALVENTE.Text)
'TEXTTOTALVENTE.Text = Format(TEXTTOTALVENTE, "currency")
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
RETOURFACTVENTE.Show()
End Sub
Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
''''
''''كود اضافة تاب جديد واضافة داتاجريدفيو له
''''
'References to source and target grid.
Dim sourceGrid As DataGridView = Me.DataGridView2
'بناء datagridview جديدة في كل مرة
Dim NewGrid As DataGridView = New DataGridView
' يمكنك التحكم في خصائص الجريد الجديدة مثل الخط واللون وشكل وارتفاع الاعمدة وغيرها
' NewGrid.AllowUserToAddRows = False
'Clear target columns and then clone all source columns.
NewGrid.Columns.Clear()
For Each column As DataGridViewColumn In sourceGrid.Columns
NewGrid.Columns.Add(CType(column.Clone(), DataGridViewColumn))
Next
' بناء صفحة تاب جديدة
Dim newTabPage As TabPage = New TabPage
newTabPage.Name = TabControl1.TabCount + 1
newTabPage.Text = "فاتورة " & TabControl1.TabCount + 1
newTabPage.Controls.Add(NewGrid)
NewGrid.Dock = DockStyle.Fill
Me.TabControl1.TabPages.Add(newTabPage)
TabControl1.SelectTab(newTabPage)
End Sub
End Class