?? frmselectproduct.vb
字號:
Public Class frmSelect
Inherits 生產管理系統.frmBase
Private dvResult As DataView
Private gridMouseDownTime As DateTime = New DateTime
#Region " Windows 窗體設計器生成的代碼 "
Public Sub New()
MyBase.New()
'該調用是 Windows 窗體設計器所必需的。
InitializeComponent()
'在 InitializeComponent() 調用之后添加任何初始化
End Sub
'窗體重寫 dispose 以清理組件列表。
Protected Overloads Overrides Sub Dispose(ByVal disposing As Boolean)
If disposing Then
If Not (components Is Nothing) Then
components.Dispose()
End If
End If
MyBase.Dispose(disposing)
End Sub
'Windows 窗體設計器所必需的
Private components As System.ComponentModel.IContainer
'注意: 以下過程是 Windows 窗體設計器所必需的
'可以使用 Windows 窗體設計器修改此過程。
'不要使用代碼編輯器修改它。
<System.Diagnostics.DebuggerStepThrough()> Private Sub InitializeComponent()
'
'frmSelect
'
Me.AutoScaleBaseSize = New System.Drawing.Size(6, 14)
Me.ClientSize = New System.Drawing.Size(536, 273)
Me.Name = "frmSelect"
End Sub
#End Region
Public Overrides Sub Prepare()
Me.Text = "選擇物料(雙擊選取數據)"
Me.ToolBar1.Visible = False
'Me.grbDetail.Visible = False
Me.dgdList.Dock = DockStyle.Fill
End Sub
Public Overrides Sub SearchResult()
'加載數據
LoadData()
'設置數據源
dgdList.DataSource = dvResult
End Sub
Public Overrides Sub SetDataGrid()
'獲得數據
LoadData()
'定義DataGridTableStyle
Dim ts As New DataGridTableStyle
Dim aColumnTextColumn As DataGridTextBoxColumn
Dim numCols As Integer = dvResult.Table.Columns.Count
Dim i As Integer
For i = 0 To numCols - 1
aColumnTextColumn = New DataGridTextBoxColumn
aColumnTextColumn.MappingName = _
dvResult.Table.Columns(i).ColumnName
aColumnTextColumn.HeaderText = _
dvResult.Table.Columns(i).ColumnName
aColumnTextColumn.NullText = ""
'為列樣式對應的TextBox添加事件響應
'為DataGrid單元格支持雙擊雙擊添加事件響應
AddHandler aColumnTextColumn.TextBox.MouseDown, _
New MouseEventHandler(AddressOf DGDoubleClick)
AddHandler aColumnTextColumn.TextBox.DoubleClick, _
New EventHandler(AddressOf dgdList_DoubleClick)
ts.GridColumnStyles.Add(aColumnTextColumn)
Next
ts.AlternatingBackColor = Color.LightGray
ts.MappingName = dvResult.Table.TableName
dgdList.TableStyles.Add(ts)
dgdList.DataSource = dvResult
End Sub
Private Sub LoadData()
Dim strSQL As String = "select * from 物料主文件"
Dim db As DataBase = New DataBase
dvResult = db.RunSelectSQL(strSQL)
dvResult.AllowDelete = False
dvResult.AllowNew = False
dvResult.AllowEdit = False
db.Dispose()
End Sub
Private Sub DGDoubleClick(ByVal sender As Object, ByVal e As MouseEventArgs)
'判斷兩次單擊時間是否小于雙擊的時間間隔
If (DateTime.Now < gridMouseDownTime.AddMilliseconds(SystemInformation.DoubleClickTime)) Then
'兩次單擊時間小于雙擊的時間間隔則調用dgdGoodInfo雙擊處理函數
Me.dgdList_DoubleClick(Nothing, Nothing)
End If
End Sub
Private Sub dgdList_DoubleClick(ByVal sender As Object, ByVal e As System.EventArgs) Handles dgdList.DoubleClick
Me.Close()
End Sub
Private Sub dgdList_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dgdList.MouseDown
'記住在dgdGoodInfo點下鼠標的時間
gridMouseDownTime = DateTime.Now
End Sub
Public Function GetInfo() As String
Dim sReturn As String
'獲得DataGrid當前被選中的行號
Dim iRow As Integer = dgdList.CurrentRowIndex
Dim sId, sName As String
'獲取DataGrid當前被選中的行的內容
sId = dvResult.Table.Rows(iRow)("物料編號").ToString()
sName = dvResult.Table.Rows(iRow)("物料名稱").ToString()
sReturn = sId.Trim + "|" + sName.Trim
Return sReturn
End Function
End Class
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -