initial commit
This commit is contained in:
106
ArinNewFpv4/lov.vb
Normal file
106
ArinNewFpv4/lov.vb
Normal file
@@ -0,0 +1,106 @@
|
||||
Public Class lov
|
||||
Dim Dt As New DataTable
|
||||
Dim A As New System.Text.StringBuilder
|
||||
|
||||
Public Msg As String = "" '//lov가 반환한 메세지 : O일경우를 제외하고 반환된다.
|
||||
Public Row As DataRowView = Nothing '//반환된 데이터로우 : O 이거나 1 일때만 반환된다.
|
||||
Public StatusE As rStatus
|
||||
Public Enum rStatus
|
||||
NotFound = 1 '//검색어에대한 데이터가 없다
|
||||
OneRow = 2 '//하나밖에없었다(ok)
|
||||
Multirow = 3 '//여러개의 데이터가 조재한다.
|
||||
Canceld = 4 '//취소되었다.
|
||||
End Enum
|
||||
#Region "New Function"
|
||||
Public Sub New()
|
||||
InitializeComponent()
|
||||
End Sub
|
||||
Public Sub New(ByVal Dtable As DataTable, Optional ByVal ImeMode As System.Windows.Forms.ImeMode = Windows.Forms.ImeMode.Hangul)
|
||||
' 이 호출은 Windows Form 디자이너에 필요합니다.
|
||||
Dt = Dtable
|
||||
InitializeComponent()
|
||||
Me.BindingSource1.DataSource = Dt
|
||||
Me.DataGridView1.DataSource = Me.BindingSource1
|
||||
Me.tb_searchtext.ImeMode = ImeMode
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
#Region "OK/CANCEL 버튼"
|
||||
Private Sub Prc_OK()
|
||||
Msg = "사용자선택"
|
||||
Row = Me.BindingSource1.Current
|
||||
StatusE = rStatus.OneRow
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.OK
|
||||
Me.Close()
|
||||
End Sub
|
||||
|
||||
Private Sub Prc_CalCel()
|
||||
Msg = "사용자취소"
|
||||
Row = Nothing
|
||||
StatusE = rStatus.Canceld
|
||||
Me.DialogResult = System.Windows.Forms.DialogResult.Cancel
|
||||
Me.Close()
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
''' <summary>
|
||||
''' where 절을 생성한후 리턴(모든 열에대한 같은 where like 절
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
''' <remarks></remarks>
|
||||
Private Function WhereState() As String
|
||||
A.Remove(0, A.Length)
|
||||
For i As Integer = 0 To Me.Dt.Columns.Count - 1
|
||||
|
||||
If Dt.Columns(i).DataType.Name.ToUpper = "STRING" Then
|
||||
A.Append(IIf(i = 0, "", Space(1) & "or ") & Dt.Columns(i).Caption & " like '" & Me.tb_searchtext.Text & "%'")
|
||||
End If
|
||||
Next
|
||||
Return A.ToString
|
||||
End Function
|
||||
|
||||
Private Sub TextBox1_TextChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles tb_searchtext.TextChanged
|
||||
Me.BindingSource1.Filter = Me.WhereState
|
||||
End Sub
|
||||
Private Sub TextBox1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_searchtext.KeyDown
|
||||
Select Case e.KeyCode
|
||||
Case Keys.Down, Keys.Enter
|
||||
Me.DataGridView1.Focus()
|
||||
If Me.datagridview1.ActiveSheet.RowCount = 1 Then Me.Prc_OK()
|
||||
Case Keys.Escape
|
||||
Me.Prc_CalCel()
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
|
||||
Private Sub datagridview1_CellDoubleClick(ByVal sender As Object, ByVal e As FarPoint.Win.Spread.CellClickEventArgs) Handles datagridview1.CellDoubleClick
|
||||
Me.Prc_OK()
|
||||
End Sub
|
||||
|
||||
Private Sub datagridview1_KeyDown1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles datagridview1.KeyDown
|
||||
Select Case e.KeyCode
|
||||
Case Keys.F5
|
||||
Case Keys.Escape
|
||||
Me.tb_searchtext.Focus()
|
||||
Case Keys.Enter
|
||||
Me.Prc_OK()
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub datagridview1_KeyUp1(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles datagridview1.KeyUp
|
||||
Select Case e.KeyCode
|
||||
Case Keys.Escape
|
||||
Me.tb_searchtext.Focus()
|
||||
End Select
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton2.Click
|
||||
Me.Prc_OK()
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton1.Click
|
||||
Me.Prc_CalCel()
|
||||
End Sub
|
||||
End Class
|
||||
Reference in New Issue
Block a user