Files
ECO2-OD/ArinWarev1/FORM-OD/Frm_1_Basic.vb
2018-12-09 20:18:51 +09:00

252 lines
9.6 KiB
VB.net

Public Class Frm_1_Basic
Dim DT지역중분류 As DataTable
Dim init As Boolean = False
Public Overrides Function AcceptChanged() As Boolean
Me.bs.EndEdit()
Dim drv As DataRowView = bs.Current
If drv Is Nothing Then Return True
If Me.cmbArea2.SelectedValue Is Nothing OrElse Me.cmbArea1.SelectedValue Is Nothing Then
MsgBox("지역이 선택되지 않았습니다" + vbCrLf + "계산작업을 위해서는 지역이 선택되어야 합니다", MsgBoxStyle.Critical, "확인")
drv("buildarea") = "0"
Else
drv("buildarea") = Me.cmbArea2.SelectedValue.ToString
End If
Me.bs.EndEdit()
Return True
End Function
Private Sub MdiMain_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed
Me.bs.EndEdit()
CEnergy.ARINCLASS.SaveLoad_FrmSetting(Me, Me.bs.Position, True)
End Sub
Private Sub MdiMain_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
Select Case e.KeyCode
Case Keys.F12
End Select
End Sub
Private Sub MdiMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
init = False
'//지역중분류값을 업데이트한다
bsArea1.DataSource = DSET1
bsArea1.DataMember = "weather_group"
bsArea2.DataSource = DSET1
bsArea2.DataMember = "weather_group"
cmbArea1.DataSource = bsArea1
cmbArea2.DataSource = bsArea2
cmbArea1.DisplayMember = "name"
cmbArea1.ValueMember = "code"
bsArea1.Filter = "code like '%0000'"
cmbArea2.DisplayMember = "name"
cmbArea2.ValueMember = "code"
bsArea2.Filter = "code ='test'"
Me.bs.DataSource = DSET1.tbl_Desc
If Me.bs.Count = 0 Then bs.AddNew()
bs.EndEdit()
Binding_Zone()
init = True
Try
Me.bs.Position = CEnergy.ARINCLASS.Read_LastPos_Frm(Me)
Catch ex As Exception
Me.bs.MoveFirst()
End Try
지역코드설정()
If Pub.Program = EProgram.친환경평가 Then
Label10.Text = "면허번호"
TextBox1.Enabled = True
Label29.Enabled = True
Else
Label10.Text = "자격번호"
TextBox1.Enabled = False
Label29.Enabled = False
End If
Me.Show()
Application.DoEvents()
End Sub
'Private Sub Frm_Intro_SizeChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.SizeChanged
' '//판넬1을 항상 중앙에 위치하도록
' If Not (Me.MdiParent Is Nothing) Then
' Me.Left = CInt((Me.MdiParent.ClientRectangle.Width - Me.Width) / 2)
' Me.Top = CInt((Me.MdiParent.ClientRectangle.Height - Me.Height) / 2)
' End If
'End Sub
'Private Sub Frm_1_Basic_Shown(sender As Object, e As EventArgs) Handles Me.Shown
' '//판넬1을 항상 중앙에 위치하도록
' If Not (Me.MdiParent Is Nothing) Then
' Me.Left = CInt((Me.MdiParent.ClientRectangle.Width - Me.Width) / 2)
' Me.Top = CInt((Me.MdiParent.ClientRectangle.Height - Me.Height) / 2)
' End If
'End Sub
Private Sub Binding_Zone()
'Dim bs_cmb_공조방식 As New BindingSource(DSET1, "tbl_weather")
'Me.cmb_location.DataSource = bs_cmb_공조방식
'cmb_location.DisplayMember = "건물위치"
'cmb_location.ValueMember = "code"
'Me.cmb_location.DataBindings.Add("selectedvalue", Me.bs, "buildarea")
'AddHandler cmb_location.KeyDown, AddressOf Cmb_DeleteVal
End Sub
Private Sub Cmb_DeleteVal(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
If e.KeyCode = Keys.Delete Then
CType(sender, ComboBox).SelectedValue = ""
End If
End Sub
Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs)
Dim L As String = Me.cmbArea2.SelectedValue
If MsgBox("공용코드값을 서버로부터 가져오시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then Read_CommonCode_OD()
Me.cmbArea2.SelectedValue = L
Me.bs.EndEdit()
End Sub
Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs)
Dim L As String = Me.cmbArea2.SelectedValue
If MsgBox("기상데이터값을 서버로부터 가져오시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then Read_WeatherData_OD()
Me.cmbArea2.SelectedValue = L
Me.bs.EndEdit()
End Sub
Dim 변경암함_세부지역 As Boolean = False
Private Sub CmbArea1_SelectedIndexChanged_1(sender As System.Object, e As System.EventArgs) Handles cmbArea1.SelectedIndexChanged
If init = False Then Return '//초기화전이면 수행안함
Dim drv As DataRowView = Me.bs.Current
If drv Is Nothing Then Return
'//지역그룹선택을 바꾼다면 해당 지역에 맞도록 우측을 갱신해줘야한다
If 변경암함_세부지역 Then Return '//순환참조방지
If Me.cmbArea1.SelectedIndex < 0 OrElse cmbArea1.Text = "없음" OrElse cmbArea1.SelectedValue.ToString() = "00" Then
Me.cmbArea2.SelectedIndex = -1
Else
Dim codeHeader As String = cmbArea1.SelectedValue.ToString().Substring(0, 2)
bsArea2.Filter = String.Format("code like '{0}%' and code not like '%0000' and code like '%00'", codeHeader)
If (cmbArea2.Items.Count > 0) Then
cmbArea2.SelectedIndex = 0
Else
cmbArea2.SelectedIndex = -1
End If
If cmbArea1.SelectedIndex >= 0 Then
drv("buildarea") = cmbArea1.SelectedValue.ToString()
drv.EndEdit()
End If
End If
End Sub
Private Sub CmbArea2_SelectedIndexChanged_1(sender As System.Object, e As System.EventArgs) Handles cmbArea2.SelectedIndexChanged
If init = False Then Return '//초기화전이면 수행안함
Dim drv As DataRowView = Me.bs.Current
If drv Is Nothing Then Return
'//지역그룹선택을 바꾼다면 해당 지역에 맞도록 우측을 갱신해줘야한다
If 변경암함_세부지역 Then Return '//순환참조방지
If Me.cmbArea2.SelectedIndex < 0 OrElse cmbArea2.Text = "없음" OrElse cmbArea2.SelectedValue.ToString() = "00" Then
'Me.cmbArea3.SelectedIndex = -1
Else
Dim codeHeader As String = cmbArea2.SelectedValue.ToString().Substring(0, 4)
'bsArea3.Filter = String.Format("code like '{0}%' and code not like '%00'", codeHeader)
'cmbArea3.SelectedIndex = -1
If cmbArea2.SelectedIndex >= 0 Then
drv("buildarea") = cmbArea2.SelectedValue.ToString()
drv.EndEdit()
End If
End If
End Sub
Private Sub Bs_CurrentChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bs.CurrentChanged
If init = False Then Return '//초기화전이면 수행안함
Me.bs.EndEdit()
Dim drv As DataRowView = Me.bs.Current
If drv Is Nothing Then Return
If drv("민간구분").ToString = "0" Then
Me.RadioButton1.Checked = True
Else
Me.RadioButton2.Checked = True
End If
지역코드설정()
End Sub
Private Sub 지역코드설정()
Dim drv As DataRowView = Me.bs.Current
If drv Is Nothing Then Return
'//지역코드에는 Weather_Group의 코드값이 들어있다.
Dim 지역코드 As String = drv("buildarea").ToString
If 지역코드 <> "" AndAlso 지역코드 <> "0" AndAlso 지역코드 <> "00" AndAlso 지역코드.Length = 6 Then
변경암함_세부지역 = True
'//Dep 1
Dim codeHeader As String = 지역코드.Substring(0, 2)
bsArea2.Filter = String.Format("code like '{0}%' and code not like '%0000' and code like '%00'", codeHeader)
Me.cmbArea1.SelectedValue = codeHeader + "0000" '//선택해줌
codeHeader = 지역코드.Substring(0, 4)
'bsArea3.Filter = String.Format("code like '{0}%' and code not like '%00'", codeHeader)
Me.cmbArea2.SelectedValue = codeHeader + "00"
'Me.cmbArea3.SelectedValue = 지역코드
'//찾은 중분류코드에맞는 중분류를 자동 선택해준다.
변경암함_세부지역 = False
Else
bsArea1.Filter = "code like '%0000'"
bsArea2.Filter = "code='test'"
'bsArea3.Filter = "code='test'"
End If
End Sub
Private Sub Bs_CurrentItemChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles bs.CurrentItemChanged
Try
Me.bs.EndEdit()
Catch ex As Exception
End Try
End Sub
Private Sub RadioButton1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles RadioButton1.CheckedChanged, RadioButton2.CheckedChanged
Dim drv As DataRowView = Me.bs.Current
If drv Is Nothing Then Return
If RadioButton1.Checked Then
drv("민간구분") = "0"
Else
drv("민간구분") = "1" '//공공
End If
End Sub
Private Sub RibbonButton1_Click(sender As Object, e As EventArgs) Handles RibbonButton1.Click
AcceptChanged()
End Sub
End Class