16,554
社区成员
发帖
与我相关
我的任务
分享
Public Class frmPurchase
Dim bmPurchaseDetail As BindingManagerBase
Dim bmPurchaseMaster As BindingManagerBase
Dim WithEvents dtPurchaseDetail As New DataTable
Dim PurchaseDetailHasChange As Boolean
Private Sub frmPurchase_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
bmPurchaseMaster = Me.BindingContext(DsPurchase1, "PurchaseMaster")
bmPurchaseDetail = Me.BindingContext(DsPurchase1, "PurchaseMaster.FK_PurchaseMaster_PurchaseDetail")
dtPurchaseDetail = MyDataSet.Tables("PurchaseDetail")
PurchaseDetailHasChange = True
MyDataSet.Tables("PurchaseMaster").Columns("AccountPayable").DefaultValue = 0
MyDataSet.Tables("PurchaseMaster").Columns("Paid").DefaultValue = 0
MyDataSet.Tables("PurchaseMaster").Columns("Subtotal").DefaultValue = 0
MyDataSet.Tables("PurchaseMaster").Columns("ValueAddTax").DefaultValue = 0
MyDataSet.Tables("PurchaseMaster").Columns("Amount").DefaultValue = 0
MyDataSet.Tables("PurchaseDetail").Columns("ProductID2").DefaultValue = "NULL"
MyDataSet.Tables("PurchaseDetail").Columns("PurchaseQuantity").DefaultValue = 0
MyDataSet.Tables("PurchaseDetail").Columns("PurchaseUnitPrice").DefaultValue = 0
MyDataSet.Tables("PurchaseDetail").Columns("PurchaseAmount").DefaultValue = 0
End Sub
Public Overrides Sub SetMyDataSet()
Dim dataCon As New KS.DataConnection
cnKS.ConnectionString = dataCon.getConnection
MyDataSet = DsPurchase1
MyDataItem = "PurchaseMaster"
MyConnection = cnKS
'MyBase.SetMyDataSet()
End Sub
Public Overrides Sub FillData()
daPurchaseMaster.Fill(MyDataSet, "PurchaseMaster")
daPurchaseDetail.Fill(MyDataSet, "PurchaseDetail")
daSupplier.Fill(MyDataSet, "Supplier")
End Sub
Public Overrides Sub UploadAddData()
UpdateData()
End Sub
Public Overrides Sub UploadModifyData()
UpdateData()
End Sub
Public Overrides Sub UploadDeletedData()
UpdateData()
End Sub
Public Sub UpdateData()
daPurchaseMaster.Update(MyDataSet, "PurchaseMaster")
daPurchaseDetail.Update(MyDataSet, "PurchaseDetail")
End Sub
Private Sub dgDetail_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dgDetail.CellContentClick
End Sub
Private Sub dgDetail_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgDetail.DoubleClick
'bmPurchaseMaster.EndCurrentEdit()
bmPurchaseDetail.EndCurrentEdit()
Dim frmSelectProductID As New frmSelectProductID()
If frmSelectProductID.ShowDialog() = Windows.Forms.DialogResult.OK Then
dgDetail.Item(0, dgDetail.CurrentRow.Index).Value = frmSelectProductID.ProductID
End If
End Sub
Private Sub dtPurchaseDetail_ColumnChanged(ByVal sender As System.Object, ByVal e As System.Data.DataColumnChangeEventArgs) Handles dtPurchaseDetail.ColumnChanged
Dim drPurchaseMaster As DataRow
Dim drPurchaseDetail As DataRow
Dim iSubtotal As Integer
Try
If PurchaseDetailHasChange Then
'MessageBox.Show(bmPurchaseMaster.Position)
PurchaseDetailHasChange = False
e.Row("PurchaseAmount") = e.Row("PurchaseQuantity") * e.Row("PurchaseUnitPrice")
iSubtotal = 0
drPurchaseMaster = Me.DsPurchase1.Tables("PurchaseMaster").Rows(bmPurchaseMaster.Position)
For Each drPurchaseDetail In drPurchaseMaster.GetChildRows("FK_PurchaseMaster_PurchaseDetail")
iSubtotal = iSubtotal + drPurchaseDetail("PurchaseAmount")
Next
'MessageBox.Show(bmPurchaseMaster.Position)
'messagebox.Show(dspurchase1.Tables("PurchaseMaster")
'MessageBox.Show(drPurchaseMaster.RowState)
drPurchaseMaster.BeginEdit()
'MessageBox.Show(drPurchaseMaster.RowState)
'TextBox9.Text = iSubtotal
'TextBox10.Text = iSubtotal * 0.05
'TextBox11.Text = TextBox9.Text + TextBox10.Text
drPurchaseMaster("SubTotal") = iSubtotal
drPurchaseMaster("ValueAddTax") = drPurchaseMaster("SubTotal") * 0.05
drPurchaseMaster("Amount") = drPurchaseMaster("SubTotal") + drPurchaseMaster("ValueAddTax")
drPurchaseMaster.EndEdit()
'MessageBox.Show(drPurchaseMaster.RowState)
End If
Catch ex As Exception
MessageBox.Show(ex.ToString)
Finally
PurchaseDetailHasChange = True
End Try
End Sub
End Class