?? frmcalendarman.vb
字號:
Me.SqlInsertCommand1.Connection = Me.SqlConnection1
Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@年份", System.Data.SqlDbType.Int, 4, "年份"))
Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@計劃期", System.Data.SqlDbType.Int, 4, "計劃期"))
Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@開始日期", System.Data.SqlDbType.Int, 4, "開始日期"))
Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@結束日期", System.Data.SqlDbType.Int, 4, "結束日期"))
Me.SqlInsertCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@備注", System.Data.SqlDbType.VarChar, 255, "備注"))
'
'SqlSelectCommand2
'
Me.SqlSelectCommand2.CommandText = "SELECT 年份, 計劃期, 開始日期, 結束日期, 備注 FROM 工廠日歷"
Me.SqlSelectCommand2.Connection = Me.SqlConnection1
'
'SqlUpdateCommand1
'
Me.SqlUpdateCommand1.CommandText = "UPDATE 工廠日歷 SET 年份 = @年份, 計劃期 = @計劃期, 開始日期 = @開始日期, 結束日期 = @結束日期, 備注 = @備注 WHERE " & _
"(年份 = @Original_年份) AND (計劃期 = @Original_計劃期) AND (備注 = @Original_備注 OR @Origina" & _
"l_備注 IS NULL AND 備注 IS NULL) AND (開始日期 = @Original_開始日期) AND (結束日期 = @Original_結" & _
"束日期); SELECT 年份, 計劃期, 開始日期, 結束日期, 備注 FROM 工廠日歷 WHERE (年份 = @年份) AND (計劃期 = @計劃期)" & _
""
Me.SqlUpdateCommand1.Connection = Me.SqlConnection1
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@年份", System.Data.SqlDbType.Int, 4, "年份"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@計劃期", System.Data.SqlDbType.Int, 4, "計劃期"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@開始日期", System.Data.SqlDbType.Int, 4, "開始日期"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@結束日期", System.Data.SqlDbType.Int, 4, "結束日期"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@備注", System.Data.SqlDbType.VarChar, 255, "備注"))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_年份", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "年份", System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_計劃期", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "計劃期", System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_備注", System.Data.SqlDbType.VarChar, 255, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "備注", System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_開始日期", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "開始日期", System.Data.DataRowVersion.Original, Nothing))
Me.SqlUpdateCommand1.Parameters.Add(New System.Data.SqlClient.SqlParameter("@Original_結束日期", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, False, CType(0, Byte), CType(0, Byte), "結束日期", System.Data.DataRowVersion.Original, Nothing))
'
'frmCalendarMan
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(536, 273)
Me.Controls.Add(Me.GroupBox1)
Me.Name = "frmCalendarMan"
Me.Controls.SetChildIndex(Me.GroupBox1, 0)
CType(Me.DataSet11, System.ComponentModel.ISupportInitialize).EndInit()
Me.GroupBox1.ResumeLayout(False)
Me.ResumeLayout(False)
End Sub
#End Region
Public Overrides Sub Prepare()
Me.Text = "工廠日歷"
Me.Label1.Text = "年份"
Me.Label2.Text = "計劃期"
Me.Label3.Visible = False
Me.txbThree.Visible = False
End Sub
Public Overrides Sub SetDataGrid()
LoadData()
'定義一個DataGrid表樣式
Dim ts As New DataGridTableStyle
Dim aColumnTextColumn As DataGridTextBoxColumn
Dim numCols As Integer = dtData.Columns.Count
Dim i As Integer
For i = 0 To numCols - 1
aColumnTextColumn = New DataGridTextBoxColumn
aColumnTextColumn.MappingName = _
dtData.Columns(i).ColumnName
aColumnTextColumn.HeaderText = _
dtData.Columns(i).ColumnName
aColumnTextColumn.NullText = ""
If bClose = True Then
'為列樣式對應的TextBox添加事件響應
'為DataGrid單元格支持雙擊雙擊添加事件響應
AddHandler aColumnTextColumn.TextBox.MouseDown, New MouseEventHandler(AddressOf DGDoubleClick)
AddHandler aColumnTextColumn.TextBox.DoubleClick, New EventHandler(AddressOf dgdGoodInfo_DoubleClick)
End If
ts.GridColumnStyles.Add(aColumnTextColumn)
Next
ts.AlternatingBackColor = Color.LightGray
ts.AllowSorting = False
ts.MappingName = dtData.TableName
dgdList.TableStyles.Add(ts)
Dim dv As DataView = dtData.DefaultView
dv.AllowNew = False
dv.AllowDelete = False
dv.AllowEdit = False
dgdList.DataSource = dtData.DefaultView
'bmData = Me.BindingContext(DataSet11, "工廠日歷")
End Sub
Public Overrides Sub SaveForUpdate()
Try
Dim row As Integer
row = dgdList.CurrentCell.RowNumber
dgdList.CurrentCell = New DataGridCell((row + 1) Mod bmData.Count, 0)
If Me.DataSet11.HasChanges = True Then
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show("數據修改失敗!")
End Try
End Sub
Public Overrides Sub DeleteData()
Try
DataSet11.Tables("工廠日歷").Rows(bmData.Position).Delete()
If Me.DataSet11.HasChanges = True Then
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show(ex.ToString) '("數據刪除失敗!")
End Try
End Sub
Public Overrides Sub SaveForAdd()
Dim drData As DataRow = DataSet11.Tables("工廠日歷").NewRow()
Try
drData("年份") = txbDate.Text
drData("計劃期") = txbPlanDate.Text
drData("開始日期") = txbBegDate.Text
drData("結束日期") = txbEndDate.Text
drData("備注") = txbRemark.Text
Catch ex As Exception
MessageBox.Show("數據格式不正確!")
Exit Sub
End Try
Try
DataSet11.Tables("工廠日歷").Rows.Add(drData)
If Me.DataSet11.HasChanges = True Then
SqlDataAdapter1.Update(DataSet11)
End If
Catch ex As Exception
MessageBox.Show("數據添加失敗!")
End Try
End Sub
Public Overrides Sub Clear()
txbBegDate.Text = ""
txbDate.Text = ""
txbEndDate.Text = ""
txbPlanDate.Text = ""
txbRemark.Text = ""
End Sub
Public Overrides Sub SearchResult()
LoadData()
dgdList.DataSource = dtData.DefaultView
End Sub
Private Sub LoadData()
Dim strFilter As String
If Me.txbOne.Text.Trim.Length = 0 Then
If Me.txbTwo.Text.Trim.Length = 0 Then
strFilter = ""
Else
strFilter = "where 計劃期='" + Me.txbTwo.Text.Trim + "'"
End If
ElseIf Me.txbTwo.Text.Trim.Length = 0 Then
strFilter = "where 年份='" + Me.txbOne.Text.Trim + "'"
Else
strFilter = "where 年份='" + Me.txbOne.Text.Trim + "'"
strFilter += " and 計劃期='" + Me.txbTwo.Text.Trim + "'"
End If
'清除DataSet中的數據
DataSet11.Clear()
SqlConnection1.ConnectionString = DataBase.sConn
SqlDataAdapter1.SelectCommand.CommandText = "select * from 工廠日歷 " + strFilter
SqlDataAdapter1.Fill(DataSet11)
dtData = DataSet11.Tables("工廠日歷")
bmData = Me.BindingContext(DataSet11, "工廠日歷")
End Sub
Public Function GetInfo() As String
Dim sReturn As String
'獲得DataGrid當前被選中的行號
Dim iRow As Integer = dgdList.CurrentRowIndex
Dim sDate, sPlanDate, sBegDate, sEndDate As String
'獲取DataGrid當前被選中的行的內容
sDate = DataSet11.Tables("工廠日歷").Rows(iRow)("年份").ToString()
sPlanDate = DataSet11.Tables("工廠日歷").Rows(iRow)("計劃期").ToString()
sBegDate = DataSet11.Tables("工廠日歷").Rows(iRow)("開始日期").ToString()
sEndDate = DataSet11.Tables("工廠日歷").Rows(iRow)("結束日期").ToString()
sReturn = sDate.Trim + "|" + sPlanDate.Trim + "|" + sBegDate.Trim + "|" + sEndDate.Trim
Return sReturn
End Function
Private Sub DGDoubleClick(ByVal sender As Object, ByVal e As MouseEventArgs)
'判斷兩次單擊時間是否小于雙擊的時間間隔
If (DateTime.Now < gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime)) Then
'兩次單擊時間小于雙擊的時間間隔則調用dgdGoodInfo雙擊處理函數
Me.dgdGoodInfo_DoubleClick(Nothing, Nothing)
End If
End Sub
Private Sub dgdGoodInfo_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgdList.DoubleClick
Me.Close()
End Sub
Private Sub dgdGoodInfo_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgdList.MouseDown
'記住在dgdGoodInfo點下鼠標的時間
gridMouseDownTime = DateTime.Now
End Sub
Public Overrides Sub SetTextBoxState(ByVal bState As Boolean)
txbBegDate.ReadOnly = bState
txbDate.ReadOnly = bState
txbEndDate.ReadOnly = bState
txbPlanDate.ReadOnly = bState
txbRemark.ReadOnly = bState
End Sub
End Class
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -