?? frmorderlist.vb
字號(hào):
dgdOrderList.DataSource = dtOrderList.DefaultView
dtOrderList.DefaultView.AllowNew = False
End Sub
Private Sub Print()
'新建表
Dim dtPrint As DataTable = New DataTable("Print")
Dim dr As DataRow
dtPrint.Columns.Add("名稱(chēng)", Type.GetType("System.String"))
dtPrint.Columns.Add("品名", Type.GetType("System.String"))
dtPrint.Columns.Add("進(jìn)貨數(shù)", Type.GetType("System.String"))
dtPrint.Columns.Add("單位", Type.GetType("System.String"))
dtPrint.Columns.Add("倉(cāng)庫(kù)", Type.GetType("System.String"))
dtPrint.Columns.Add("不含稅", Type.GetType("System.String"))
dtPrint.Columns.Add("稅額", Type.GetType("System.String"))
dtPrint.Columns.Add("稅價(jià)合計(jì)", Type.GetType("System.String"))
dtPrint.Columns.Add("進(jìn)貨日期", Type.GetType("System.String"))
Dim i As Integer
'對(duì)要打印的數(shù)據(jù)表賦值
For i = 0 To dtOrderList.Rows.Count - 1
dr = dtPrint.NewRow()
dr("名稱(chēng)") = txbSupplyName.Text.Trim
dr("品名") = dtOrderList.Rows(i)("品名")
dr("進(jìn)貨數(shù)") = dtOrderList.Rows(i)("數(shù)量")
dr("單位") = dtOrderList.Rows(i)("單位")
dr("倉(cāng)庫(kù)") = dtOrderList.Rows(i)("倉(cāng)庫(kù)")
dr("不含稅") = dtOrderList.Rows(i)("不含稅價(jià)")
dr("稅額") = dtOrderList.Rows(i)("稅額")
dr("稅價(jià)合計(jì)") = dtOrderList.Rows(i)("稅價(jià)合計(jì)")
dr("進(jìn)貨日期") = txbOrderDate.Text.Trim
dtPrint.Rows.Add(dr)
Next
'顯示打印對(duì)話(huà)框
Dim frm As frmPrint = New frmPrint(dtPrint)
frm.ShowDialog()
End Sub
'Private Sub dgdOrderList_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles dgdOrderList.Click
' MessageBox.Show("tt")
' If Me.dgdOrderList.CurrentRowIndex <> -1 Then
' Dim iRow As Integer = Me.dgdOrderList.CurrentRowIndex
' Me.txbPrice.Text = Me.dtOrderList.Rows(iRow)("單價(jià)")
' Me.txbGoodsCount.Text = Me.dtOrderList.Rows(iRow)("數(shù)量")
' Me.txbGoodsId.Text = Me.dtOrderList.Rows(iRow)("貨號(hào)")
' Me.txbGoodsName.Text = Me.dtOrderList.Rows(iRow)("品名")
' Dim i As Integer
' Dim s As String
' For i = 0 To Me.cbbDepotId.Items.Count
' s = Me.cbbDepotId.Items(i)("倉(cāng)庫(kù)名")
' If s.Trim = Me.dtOrderList.Rows(iRow)("倉(cāng)庫(kù)") Then
' Me.cbbDepotId.SelectedIndex = i
' Exit For
' End If
' Next
' End If
'End Sub
Private Sub Clear()
Me.txbPrice.Text = ""
Me.txbGoodsCount.Text = ""
End Sub
Private Sub btnSave_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSave.Click
Try
Dim i, total As Integer
Dim s As String = "0"
Dim rate As Integer = CInt(lblRateValue.Text.Trim)
If dgdOrderList.CurrentRowIndex <> -1 Then
'獲取當(dāng)前行并進(jìn)行修改
Dim iRow As Integer = dgdOrderList.CurrentRowIndex
With dtOrderList
.Rows(iRow)("貨號(hào)") = txbGoodsId.Text.Trim
.Rows(iRow)("單價(jià)") = txbPrice.Text.Trim
.Rows(iRow)("數(shù)量") = txbGoodsCount.Text.Trim
.Rows(iRow)("單位") = txbGoodsUnit.Text.Trim
.Rows(iRow)("品名") = txbGoodsName.Text.Trim
.Rows(iRow)("單價(jià)") = txbPrice.Text.Trim
.Rows(iRow)("倉(cāng)庫(kù)") = _
cbbDepotId.SelectedItem("倉(cāng)庫(kù)名")
End With
'計(jì)算稅率
total = CInt(txbPrice.Text.Trim) * _
CInt(txbGoodsCount.Text.Trim)
With dtOrderList
.Rows(iRow)("稅率") = lblRateValue.Text.Trim
.Rows(iRow)("稅額") = _
(total - total / (1 + rate / 100)).ToString("f")
.Rows(iRow)("不含稅價(jià)") = _
(total / (1 + rate / 100)).ToString("f")
.Rows(iRow)("稅價(jià)合計(jì)") = total.ToString
End With
End If
SetTaxForDelOrUpgrade()
Catch ex As Exception
MessageBox.Show("數(shù)據(jù)錯(cuò)誤")
End Try
Clear()
End Sub
Private Sub ToolBar1_ButtonClick(ByVal sender As Object, _
ByVal e As ToolBarButtonClickEventArgs) Handles ToolBar1.ButtonClick
If e.Button Is tbbSave Then
If dtOrderList.Rows.Count = 0 Then
Exit Sub
End If
Dim strSQL As String = ""
Dim db As DataBase = New DataBase
Try
' 獲取單據(jù)ID
Dim dvTemp As DataView = _
db.RunSelectSQL("select max(編號(hào)) as 編號(hào) from 進(jìn)貨單歷史")
Dim sId As String = "0000000001"
If dvTemp.Table.Rows(0).IsNull(0) = False Then
sId = (CType(dvTemp.Table.Rows(0)("編號(hào)"), _
Integer) + 1).ToString
End If
Dim count As Integer
For count = sId.Trim.Length To 9
sId = "0" + sId
Next
' 刪除已有數(shù)據(jù)
db.RunDelOrInsSQL("delete from 進(jìn)貨單明細(xì) where 進(jìn)貨單號(hào)='" _
+ sId + "'")
db.RunDelOrInsSQL("delete from 進(jìn)貨單 where 編號(hào)='" _
+ sId + "'")
' 寫(xiě)入進(jìn)貨單
strSQL = "insert into 進(jìn)貨單(編號(hào),供貨商號(hào),進(jìn)貨日期, 制單人,"
strSQL += "業(yè)務(wù)員,稅價(jià)合計(jì),不含稅價(jià),稅額) values('" + sId + "','"
strSQL += txbSupplyId.Text.Trim + "','" _
+ txbOrderDate.Text + "','" + txbListMaker.Text.Trim + "','"
strSQL += CType(cbbWorker.SelectedItem("姓名"), String).Trim
strSQL += "'," + txbTotal.Text.Trim() + ","
strSQL += txbWithoutTax.Text.Trim()
strSQL += "," + txbTax.Text + ")"
db.RunDelOrInsSQL(strSQL)
'MessageBox.Show(strSQL)
' 寫(xiě)入明細(xì)
Dim sId1 As String = "0000000000"
dvTemp = db.RunSelectSQL( _
"select max(編號(hào)) as 編號(hào) from 進(jìn)貨單明細(xì)歷史")
If dvTemp.Table.Rows(0).IsNull(0) <> True Then
sId1 = dvTemp.Table.Rows(0)(0)
End If
Dim i As Integer
For i = 0 To dtOrderList.Rows.Count - 1
sId1 = (CInt(sId1) + 1).ToString
For count = sId1.Trim.Length To 9
sId1 = "0" + sId1
Next
strSQL = _
"insert into 進(jìn)貨單明細(xì)(編號(hào),進(jìn)貨單號(hào),貨號(hào),進(jìn)貨數(shù)量," _
+ "進(jìn)價(jià),倉(cāng)庫(kù),稅價(jià)合計(jì),稅率,不含稅價(jià),稅額) values('" + sId1 _
+ "','" + sId + "','" + dtOrderList.Rows(i)("貨號(hào)") + "','" _
+ dtOrderList.Rows(i)("數(shù)量") + "','" _
+ dtOrderList.Rows(i)("單價(jià)") + "','"
strSQL += dtOrderList.Rows(i)("倉(cāng)庫(kù)") + "','" _
+ dtOrderList.Rows(i)("稅額") + "','"
strSQL += dtOrderList.Rows(i)("稅率") + "','" _
+ dtOrderList.Rows(i)("不含稅價(jià)") + "','"
strSQL += dtOrderList.Rows(i)("稅額") + "')"
db.RunDelOrInsSQL(strSQL)
Next
Catch ex As Exception
MessageBox.Show("保存數(shù)據(jù)出錯(cuò)")
End Try
db.Dispose()
End If
'判斷單擊的是否是打印按鈕
If e.Button Is tbbPrint Then
Print()
Dim db As DataBase = New DataBase
If MessageBox.Show("是否記帳確認(rèn)進(jìn)貨單", "提示", _
MessageBoxButtons.YesNo) = DialogResult.Yes Then
Try
db.RunDelOrInsSQL("exec sf_進(jìn)貨單")
'清空用戶(hù)界面
txbSupplyId.Text = ""
txbSupplyName.Text = ""
txbSupplyName.Text = ""
txbGoodsCount.Text = ""
txbGoodsName.Text = ""
txbGoodsId.Text = ""
txbGoodsUnit.Text = ""
txbPrice.Text = ""
txbTax.Text = "0"
txbTotal.Text = "0"
txbWithoutTax.Text = "0"
dtOrderList.Clear()
Catch ex As Exception
MessageBox.Show("進(jìn)貨單確認(rèn)出錯(cuò)")
End Try
End If
db.Dispose()
End If
End Sub
Private Sub SetTaxForAdd(ByVal total As Integer)
Try
'計(jì)算稅額
Dim rate As Integer = CInt(Me.lblRateValue.Text.Trim)
Dim iAll As Integer = total + CInt(Me.txbTotal.Text.Trim())
Me.txbTotal.Text = iAll.ToString
Me.txbTax.Text = (iAll - iAll / (1 + rate / 100)).ToString("f")
Me.txbWithoutTax.Text = (iAll / (1 + rate / 100)).ToString("f")
Catch ex As Exception
MessageBox.Show("數(shù)據(jù)格式不正確")
End Try
End Sub
Private Sub txbGoodsId_Leave(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles txbGoodsId.MouseLeave
If txbGoodsId.Text.Trim.Length > 0 Then
Dim db As DataBase = New DataBase
Dim dv As DataView = _
db.RunSelectSQL("select 品名,單位 from 商品清單 where 貨號(hào) = '" _
+ txbGoodsId.Text.Trim + "'")
If dv.Table.Rows.Count > 0 Then
txbGoodsName.Text = dv.Table.Rows(0)("品名")
txbGoodsUnit.Text = dv.Table.Rows(0)("單位")
Else
txbGoodsId.Text = ""
txbGoodsName.Text = ""
txbGoodsUnit.Text = ""
End If
db.Dispose()
End If
End Sub
Private Sub txbSupplyId_Leave(ByVal sender As System.Object, ByVal e As System.EventArgs)
If Me.txbSupplyId.Text.Trim.Length > 0 Then
Dim db As DataBase = New DataBase
Dim dv As DataView = db.RunSelectSQL("select 名稱(chēng) from 供貨商清單 where 供貨商號(hào) = '" + Me.txbSupplyId.Text.Trim + "'")
If dv.Table.Rows.Count > 0 Then
Me.txbSupplyName.Text = dv.Table.Rows(0)("名稱(chēng)")
Else
Me.txbSupplyId.Text = ""
Me.txbSupplyName.Text = ""
End If
db.Dispose()
End If
End Sub
Private Sub linklbGoods_LinkClicked(ByVal sender As Object, _
ByVal e As LinkLabelLinkClickedEventArgs) _
Handles linklbGoods.LinkClicked
Try
Dim dlgGoods As frmGoodsInfo = New frmGoodsInfo
dlgGoods.bClose = True
dlgGoods.tbbDel.Enabled = False
dlgGoods.tbbSave.Enabled = False
dlgGoods.ShowDialog()
Dim result() As String = dlgGoods.SetInfo().Split("|")
txbGoodsId.Text = result(0)
txbGoodsName.Text = result(1)
txbGoodsUnit.Text = result(2)
Catch ex As Exception
MessageBox.Show("錯(cuò)誤")
End Try
End Sub
Private Sub btnDel_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnDel.Click
Try
'獲得DataGrid當(dāng)前被選中的行號(hào)
Dim iRow = dgdOrderList.CurrentRowIndex
'彈出對(duì)話(huà)框讓用戶(hù)確認(rèn)要?jiǎng)h除記錄
'如果用戶(hù)確認(rèn)要?jiǎng)h除記錄
If MessageBox.Show("你確認(rèn)要?jiǎng)h除此條記錄嗎?", "Confirm", _
MessageBoxButtons.YesNo) = DialogResult.Yes Then
'從商品清單表刪除當(dāng)前被選中記錄()
dtOrderList.Rows(iRow).Delete()
SetTaxForDelOrUpgrade()
Clear()
Else
Exit Sub
End If
Catch ex As Exception
MessageBox.Show("刪除數(shù)據(jù)出錯(cuò)")
End Try
End Sub
Private Sub SetTaxForDelOrUpgrade()
Dim total As Integer = 0
Dim i As Integer
Dim rate As Integer = CInt(Me.lblRateValue.Text.Trim)
Dim s As String
'計(jì)算稅額
For i = 0 To Me.dtOrderList.Rows.Count - 1
s = Me.dtOrderList.Rows(i)("稅價(jià)合計(jì)")
total = total + CInt(s.Trim)
Next
Me.txbTax.Text = (total - total / (1 + rate / 100)).ToString("f")
Me.txbTotal.Text = total.ToString
Me.txbWithoutTax.Text = (total / (1 + rate / 100)).ToString("f")
End Sub
Private Sub dgdOrderList_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgdOrderList.MouseDown
Dim hti As DataGrid.HitTestInfo = Me.dgdOrderList.HitTest(New Point(e.X, e.Y))
If hti.Type = DataGrid.HitTestType.Cell Then
Dim iRow As Integer = Me.dgdOrderList.CurrentRowIndex
Me.txbPrice.Text = Me.dtOrderList.Rows(iRow)("單價(jià)")
Me.txbGoodsCount.Text = Me.dtOrderList.Rows(iRow)("數(shù)量")
Me.txbGoodsId.Text = Me.dtOrderList.Rows(iRow)("貨號(hào)")
Me.txbGoodsName.Text = Me.dtOrderList.Rows(iRow)("品名")
Dim i As Integer
Dim s As String
For i = 0 To Me.cbbDepotId.Items.Count
s = Me.cbbDepotId.Items(i)("倉(cāng)庫(kù)名")
If s.Trim = Me.dtOrderList.Rows(iRow)("倉(cāng)庫(kù)") Then
Me.cbbDepotId.SelectedIndex = i
Exit For
End If
Next
End If
End Sub
Private Function ValidateNew() As Boolean
If txbSupplyId.Text.Trim.Length = 0 _
Or txbGoodsId.Text.Trim.Length = 0 Then
Return False
End If
If txbGoodsCount.Text.Trim.Length = 0 Or _
txbPrice.Text.Trim.Length = 0 Then
Return False
End If
Return True
End Function
End Class
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -