지역분리 작업

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

@@ -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