지역분리 작업
This commit is contained in:
@@ -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
|
||||
Reference in New Issue
Block a user