📄 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 + -