지역분리 작업

This commit is contained in:
tindevil
2020-08-16 00:44:02 +09:00
parent 2f394faf88
commit 8ca37e3e1a
14 changed files with 485 additions and 254 deletions

View File

@@ -23,105 +23,154 @@ Partial Class fSelectWeatherGroup
<System.Diagnostics.DebuggerStepThrough()> _
Private Sub InitializeComponent()
Me.components = New System.ComponentModel.Container()
Dim ListViewItem1 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("1561564")
Dim ListViewItem2 As System.Windows.Forms.ListViewItem = New System.Windows.Forms.ListViewItem("dfsdfsdf")
Dim resources As System.ComponentModel.ComponentResourceManager = New System.ComponentModel.ComponentResourceManager(GetType(fSelectWeatherGroup))
Me.Label1 = New System.Windows.Forms.Label()
Me.cmbArea1 = New System.Windows.Forms.ComboBox()
Me.btOK = New System.Windows.Forms.Button()
Me.cmbArea2 = New System.Windows.Forms.ComboBox()
Me.bsArea2 = New System.Windows.Forms.BindingSource(Me.components)
Me.bsArea1 = New System.Windows.Forms.BindingSource(Me.components)
Me.DS = New Eco2Ar.DS()
Me.bsArea1 = New System.Windows.Forms.BindingSource(Me.components)
Me.lv1 = New System.Windows.Forms.ListView()
Me.lv2 = New System.Windows.Forms.ListView()
Me.Panel1 = New System.Windows.Forms.Panel()
Me.Panel2 = New System.Windows.Forms.Panel()
Me.ColumnHeader1 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
Me.ColumnHeader2 = CType(New System.Windows.Forms.ColumnHeader(), System.Windows.Forms.ColumnHeader)
CType(Me.bsArea2, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.bsArea1, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.DS, System.ComponentModel.ISupportInitialize).BeginInit()
CType(Me.bsArea1, System.ComponentModel.ISupportInitialize).BeginInit()
Me.SuspendLayout()
'
'Label1
'
Me.Label1.AutoSize = True
Me.Label1.Dock = System.Windows.Forms.DockStyle.Top
Me.Label1.Font = New System.Drawing.Font("맑은 고딕", 15.75!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.Label1.Location = New System.Drawing.Point(14, 22)
Me.Label1.Location = New System.Drawing.Point(10, 10)
Me.Label1.Name = "Label1"
Me.Label1.Size = New System.Drawing.Size(188, 30)
Me.Label1.Size = New System.Drawing.Size(632, 41)
Me.Label1.TabIndex = 0
Me.Label1.Text = "지역을 선택하세요" & Global.Microsoft.VisualBasic.ChrW(13) & Global.Microsoft.VisualBasic.ChrW(10)
'
'cmbArea1
'
Me.cmbArea1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
Me.cmbArea1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
Me.cmbArea1.Font = New System.Drawing.Font("맑은 고딕", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.cmbArea1.FormattingEnabled = True
Me.cmbArea1.Location = New System.Drawing.Point(19, 73)
Me.cmbArea1.Name = "cmbArea1"
Me.cmbArea1.Size = New System.Drawing.Size(291, 40)
Me.cmbArea1.TabIndex = 1
'
'btOK
'
Me.btOK.Dock = System.Windows.Forms.DockStyle.Bottom
Me.btOK.Font = New System.Drawing.Font("맑은 고딕", 14.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.btOK.Location = New System.Drawing.Point(22, 468)
Me.btOK.Location = New System.Drawing.Point(10, 492)
Me.btOK.Name = "btOK"
Me.btOK.Size = New System.Drawing.Size(588, 50)
Me.btOK.Size = New System.Drawing.Size(632, 50)
Me.btOK.TabIndex = 2
Me.btOK.Text = "확 인"
Me.btOK.UseVisualStyleBackColor = True
'
'cmbArea2
'
Me.cmbArea2.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend
Me.cmbArea2.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.ListItems
Me.cmbArea2.Font = New System.Drawing.Font("맑은 고딕", 18.0!, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.cmbArea2.FormattingEnabled = True
Me.cmbArea2.Location = New System.Drawing.Point(316, 73)
Me.cmbArea2.Name = "cmbArea2"
Me.cmbArea2.Size = New System.Drawing.Size(291, 40)
Me.cmbArea2.TabIndex = 4
'
'bsArea2
'
Me.bsArea2.DataMember = "weather_group"
Me.bsArea2.DataSource = Me.DS
'
'bsArea1
'
Me.bsArea1.DataMember = "weather_group"
Me.bsArea1.DataSource = Me.DS
'
'DS
'
Me.DS.DataSetName = "DS"
Me.DS.SchemaSerializationMode = System.Data.SchemaSerializationMode.IncludeSchema
'
'bsArea1
'
Me.bsArea1.DataMember = "weather_group"
Me.bsArea1.DataSource = Me.DS
'
'lv1
'
Me.lv1.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader1})
Me.lv1.Dock = System.Windows.Forms.DockStyle.Fill
Me.lv1.Font = New System.Drawing.Font("맑은 고딕", 20.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.lv1.FullRowSelect = True
Me.lv1.GridLines = True
Me.lv1.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None
Me.lv1.HideSelection = False
Me.lv1.Items.AddRange(New System.Windows.Forms.ListViewItem() {ListViewItem1})
Me.lv1.Location = New System.Drawing.Point(10, 51)
Me.lv1.Name = "lv1"
Me.lv1.Size = New System.Drawing.Size(311, 431)
Me.lv1.TabIndex = 5
Me.lv1.UseCompatibleStateImageBehavior = False
Me.lv1.View = System.Windows.Forms.View.Details
'
'lv2
'
Me.lv2.Columns.AddRange(New System.Windows.Forms.ColumnHeader() {Me.ColumnHeader2})
Me.lv2.Dock = System.Windows.Forms.DockStyle.Right
Me.lv2.Font = New System.Drawing.Font("맑은 고딕", 20.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.lv2.FullRowSelect = True
Me.lv2.GridLines = True
Me.lv2.HeaderStyle = System.Windows.Forms.ColumnHeaderStyle.None
Me.lv2.HideSelection = False
Me.lv2.Items.AddRange(New System.Windows.Forms.ListViewItem() {ListViewItem2})
Me.lv2.Location = New System.Drawing.Point(331, 51)
Me.lv2.Name = "lv2"
Me.lv2.Size = New System.Drawing.Size(311, 431)
Me.lv2.TabIndex = 5
Me.lv2.UseCompatibleStateImageBehavior = False
Me.lv2.View = System.Windows.Forms.View.Details
'
'Panel1
'
Me.Panel1.Dock = System.Windows.Forms.DockStyle.Bottom
Me.Panel1.Location = New System.Drawing.Point(10, 482)
Me.Panel1.Name = "Panel1"
Me.Panel1.Size = New System.Drawing.Size(632, 10)
Me.Panel1.TabIndex = 6
'
'Panel2
'
Me.Panel2.Dock = System.Windows.Forms.DockStyle.Right
Me.Panel2.Location = New System.Drawing.Point(321, 51)
Me.Panel2.Name = "Panel2"
Me.Panel2.Size = New System.Drawing.Size(10, 431)
Me.Panel2.TabIndex = 7
'
'ColumnHeader1
'
Me.ColumnHeader1.Width = 300
'
'ColumnHeader2
'
Me.ColumnHeader2.Width = 300
'
'fSelectWeatherGroup
'
Me.AutoScaleDimensions = New System.Drawing.SizeF(7.0!, 15.0!)
Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font
Me.ClientSize = New System.Drawing.Size(622, 542)
Me.Controls.Add(Me.cmbArea2)
Me.ClientSize = New System.Drawing.Size(652, 552)
Me.Controls.Add(Me.lv1)
Me.Controls.Add(Me.Panel2)
Me.Controls.Add(Me.lv2)
Me.Controls.Add(Me.Panel1)
Me.Controls.Add(Me.btOK)
Me.Controls.Add(Me.cmbArea1)
Me.Controls.Add(Me.Label1)
Me.Font = New System.Drawing.Font("맑은 고딕", 9.0!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(129, Byte))
Me.Icon = CType(resources.GetObject("$this.Icon"), System.Drawing.Icon)
Me.MaximizeBox = False
Me.MinimizeBox = False
Me.Name = "fSelectWeatherGroup"
Me.Padding = New System.Windows.Forms.Padding(10)
Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen
Me.Text = "적용 지역 선택"
CType(Me.bsArea2, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.bsArea1, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.DS, System.ComponentModel.ISupportInitialize).EndInit()
CType(Me.bsArea1, System.ComponentModel.ISupportInitialize).EndInit()
Me.ResumeLayout(False)
Me.PerformLayout()
End Sub
Friend WithEvents Label1 As Label
Friend WithEvents cmbArea1 As ComboBox
Friend WithEvents btOK As Button
Friend WithEvents cmbArea2 As ComboBox
Friend WithEvents bsArea2 As BindingSource
Friend WithEvents bsArea1 As BindingSource
Public WithEvents DS As DS
Friend WithEvents lv1 As ListView
Friend WithEvents lv2 As ListView
Friend WithEvents Panel1 As Panel
Friend WithEvents Panel2 As Panel
Friend WithEvents ColumnHeader1 As ColumnHeader
Friend WithEvents ColumnHeader2 As ColumnHeader
End Class

View File

@@ -1,22 +1,112 @@
Public Class fSelectWeatherGroup
Private Sub fSelectArea_Load(sender As Object, e As EventArgs) Handles MyBase.Load
Public SelectedCode As String = String.Empty
Dim preCode As String
Dim bInit As Boolean
Public Sub New(precode_ As String)
' 디자이너에서 이 호출이 필요합니다.
InitializeComponent()
Me.preCode = precode_
' InitializeComponent() 호출 뒤에 초기화 코드를 추가하세요.
End Sub
Private Sub fSelectArea_Load(sender As Object, e As EventArgs) Handles MyBase.Load
bInit = False
bsArea1.DataSource = DSET1
bsArea2.DataSource = DSET2
bsArea1.Filter = "code like '%0000'"
bsArea2.Filter = "code = 'test'"
cmbArea1.DisplayMember = "name"
cmbArea1.ValueMember = "code"
cmbArea2.DisplayMember = "name"
cmbArea2.ValueMember = "code"
cmbArea1.DataSource = bsArea1
cmbArea2.DataSource = bsArea2
'//좌측목록에 데이터를 표시한다
Dim list = From m In DSET1.weather_group
Where m.code.EndsWith("0000")
Select m
lv1.Items.Clear()
For Each item As DS.weather_groupRow In list
Dim lvitem As ListViewItem = lv1.Items.Add(item.name)
lvitem.Tag = item.code
'//입력된 코드가 있다면 선택해준다
If preCode.Length = 6 Then
If item.code.Substring(0, 2) = preCode.Substring(0, 2) Then
lvitem.Selected = True
lvitem.Focused = True
End If
End If
Next
'//입력된 코드가 있다면 중분류를 선택해준다
If preCode.Length = 6 Then
SelectGrp2Code(preCode)
End If
bInit = True
'//선택되지 않았다면 1번아이템을 선택해준다
If lv1.SelectedItems.Count < 1 AndAlso lv1.Items.Count > 0 Then
lv1.Items(0).Selected = True '//중분류는 이 걸로 자동 선택됨
End If
Me.Show()
Me.lv1.Select()
End Sub
Private Sub lv1_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lv1.SelectedIndexChanged
'//왼쪽에서 목록을 선태갛면 그걸로 시작하는 데이터를 표시해줘야하낟
If bInit = False OrElse lv1.SelectedItems.Count < 1 Then Return
Dim GrpItem As ListViewItem = lv1.SelectedItems(0)
Dim GrpCode As String = GrpItem.Tag.ToString()
SelectGrp2Code(GrpCode)
'Dim list = From m In DSET1.weather_group
' Where m.code.StartsWith(GrpCode.Substring(0, 2)) AndAlso m.code.EndsWith("0000") = False AndAlso m.code.EndsWith("00")
' Select m
'lv2.Items.Clear()
'For Each item As DS.weather_groupRow In list
' Dim lvitem As ListViewItem = lv2.Items.Add(item.name)
' lvitem.Tag = item.code
'Next
End Sub
Sub SelectGrp2Code(GrpCode As String)
'//해당 중분류 아이템을 가져온다
Dim list = From m In DSET1.weather_group
Where m.code.StartsWith(GrpCode.Substring(0, 2)) AndAlso m.code.EndsWith("0000") = False AndAlso m.code.EndsWith("00")
Select m
lv2.Items.Clear()
For Each item As DS.weather_groupRow In list
Dim lvitem As ListViewItem = lv2.Items.Add(item.name)
lvitem.Tag = item.code
If GrpCode = item.code Then
lvitem.Focused = True
lvitem.Selected = True
End If
Next
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles btOK.Click
If lv2.SelectedItems.Count < 1 Then
MessageBox.Show("2차 지역을 선택하세요", "확인")
Return
End If
'
SelectedCode = lv2.SelectedItems(0).Tag.ToString()
DialogResult = DialogResult.OK
End Sub
End Class