112 lines
3.6 KiB
VB.net
112 lines
3.6 KiB
VB.net
Public Class fSelectWeatherGroup
|
|
|
|
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'"
|
|
|
|
'//좌측목록에 데이터를 표시한다
|
|
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 |