Public Class Frm_Desc #Region "data Base 변경여부및 적용방법" '''변경된내용을적용한다. Public Overrides Function AcceptChanged() As Boolean bs.EndEdit() Dim BaseDS As DataSet = CType(bs.DataSource, DataSet) Dim BaseDT As DataTable = BaseDS.Tables(bs.DataMember) BaseDT.AcceptChanges() Return True End Function '''변경된내용이있다면 취소한다. Public Overrides Function RejectChanged() As Boolean Dim BaseDS As DataSet = CType(bs.DataSource, DataSet) Dim BaseDT As DataTable = BaseDS.Tables(bs.DataMember) BaseDT.RejectChanges() Return True End Function '''데이터에변형이있었는가? Public Overrides Function HasChanged() As Boolean bs.EndEdit() Dim BaseDS As DataSet = CType(bs.DataSource, DataSet) Dim BaseDT As DataTable = BaseDS.Tables(bs.DataMember) Dim ChangeDT As DataTable = BaseDT.GetChanges If Not ChangeDT Is Nothing Then Return True Return False End Function '''기본데이터테이블을 반환합니다. Public Function DT() As DataTable Dim BaseDS As DataSet = CType(bs.DataSource, DataSet) Return BaseDS.Tables(bs.DataMember) End Function #End Region Public Sub New(_opentime) ' 이 호출은 디자이너에 필요합니다. InitializeComponent() OpenTime = _opentime ' InitializeComponent() 호출 뒤에 초기화 코드를 추가하십시오. End Sub Private Sub MdiMain_FormClosed(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Me.FormClosed CEnergy.ARINCLASS.SaveLoad_FrmSetting(Me, Me.bs.Position, True) End Sub Private Sub ShowHistory() Dim drv As DataRowView = Me.bs.Current Dim f As New Frm_History("tbl_Desc", "") If f.ShowDialog = DialogResult.OK Then drv(f.colname) = f.val Me.Validate() Me.bs.EndEdit() My.Application.DoEvents() MsgBox("값이 변경되었습니다", MsgBoxStyle.Information, "확인") End If End Sub Private Sub AddNewDataRow_Zone_Changed2(ByVal sender As Object, ByVal e As System.Data.DataColumnChangeEventArgs) Dim oval As String = e.Row(e.Column.ColumnName).ToString Dim nval As String = e.ProposedValue.ToString If oval <> nval Then Dim newdr As DS2.historyRow = DSHistory.history.NewhistoryRow newdr.time = Now.ToString("yyyy-MM-dd HH:mm:ss") newdr.tablename = "tbl_Desc" newdr.ovalue = oval newdr.nvalue = nval newdr.column = e.Column.ColumnName newdr.code = "" DSHistory.history.AddhistoryRow(newdr) DSHistory.history.AcceptChanges() End If 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 ShowHistory() End Select End Sub Private Sub MdiMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Show() My.Application.DoEvents() ' Work_msg_timer("잠시만 기다려주세요") Me.LinkLabel1.Visible = False Me.LinkLabel2.Visible = False Me.LinkLabel3.Visible = False 'MdiMain.Toggle_Menu_Color(MdiMain.E_MenuIdx.건물개요) 'CEnergy.ARINCLASS.SaveLoad_FrmSetting(Me) '//프로필 관련 '//공유데이터셋에 연결한다. Me.bs.DataSource = DSET1 If Me.bs.Count = 0 Then bs.AddNew() bs.EndEdit() '//Zone Binding_Zone() Try Me.bs.Position = CEnergy.ARINCLASS.Read_LastPos_Frm(Me) Catch ex As Exception Me.bs.MoveFirst() End Try If Not (Prj.UserId.ToLower() = "guest" OrElse Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1") Then '//2011.03.08 추가 Dim MyVersion As String '= Format(My.Application.Info.Version.Minor, "0000") & Format(My.Application.Info.Version.Build, "0000") Dim L As New ArinLogin.ArinLOgin Dim VersionInfo As ArinLogin.ArinLOgin.sVersionInfo = Nothing '/공용코드버젼확인 Try MyVersion = DSET1.tbl_Desc.Rows(0)("versionc").ToString If MyVersion = "" Then MyVersion = "20100101" Catch ex As Exception MyVersion = "20100101" End Try Try VersionInfo = L.Get_LastVersion("C") '//버젼을 가져오는데 eco 버젼만 가져오게 바꺼야겟죵 ^^ 구분자를 넣도록 합시닷! If VersionInfo.Ver <> "0" AndAlso (CInt(VersionInfo.Ver) > CInt(MyVersion)) Then '//0은 없거나 관리안함의 뜻이므로 넘어간다. Dim Lc As String = Me.cmb_location.SelectedValue Read_CommonCode() Me.cmb_location.SelectedValue = Lc Me.bs.EndEdit() End If Catch ex As Exception MsgBox("공용코드 에러" & ex.Message.ToString) End Try '/표준프로파일버젼확인 '//2010.12.06 추가 Try MyVersion = DSET1.tbl_Desc.Rows(0)("versionp").ToString If MyVersion = "" Then MyVersion = "20100101" Catch ex As Exception MyVersion = "20100101" End Try Try VersionInfo = L.Get_LastVersion("P") '//버젼을 가져오는데 eco 버젼만 가져오게 바꺼야겟죵 ^^ 구분자를 넣도록 합시닷! If VersionInfo.Ver <> "0" AndAlso (CInt(VersionInfo.Ver) > CInt(MyVersion)) Then '//0은 없거나 관리안함의 뜻이므로 넘어간다. Dim Lp As String = Me.cmb_location.SelectedValue Read_ProfileData() Me.cmb_location.SelectedValue = Lp Me.bs.EndEdit() End If Catch ex As Exception MsgBox("표준프로파일 에러" & ex.Message.ToString) End Try '/기상데이터버젼확인 Try MyVersion = DSET1.tbl_Desc.Rows(0)("versionw").ToString If MyVersion = "" Then MyVersion = "20100101" Catch ex As Exception MyVersion = "20100101" End Try Try 'MyVersion = DSET1.tbl_Desc.Rows(0)("versionw").ToString VersionInfo = L.Get_LastVersion("W") '//버젼을 가져오는데 eco 버젼만 가져오게 바꺼야겟죵 ^^ 구분자를 넣도록 합시닷! If VersionInfo.Ver <> "0" AndAlso (CInt(VersionInfo.Ver) > CInt(MyVersion)) Then '//0은 없거나 관리안함의 뜻이므로 넘어간다. Dim Lw As String = Me.cmb_location.SelectedValue Read_WeatherData() Me.cmb_location.SelectedValue = Lw Me.bs.EndEdit() End If Catch ex As Exception End Try Else If Not Prj.UserId.ToLower() = "guest" Then Me.LinkLabel1.Visible = True Me.LinkLabel2.Visible = True Me.LinkLabel3.Visible = True End If End If AddHandler DSET1.tbl_Desc.ColumnChanging, AddressOf AddNewDataRow_Zone_Changed2 AddDebug("▲ Form Load") End Sub Private Sub Binding_Zone() Dim bs_cmb_공조방식 As New BindingSource(DSET1, "tbl_weather") bs_cmb_공조방식.Filter = "" Me.cmb_location.DataSource = bs_cmb_공조방식 cmb_location.DisplayMember = "건물위치" cmb_location.ValueMember = "code" Me.cmb_location.DataBindings.Add("selectedvalue", Me.bs, "buildarea") Dim bs_cmb_인증기관 As New BindingSource(DSET1, "tbl_common") bs_cmb_인증기관.Filter = "gubun='1100'" bs_cmb_인증기관.Sort = "code" cmb_인증기관.DataSource = bs_cmb_인증기관 cmb_인증기관.DisplayMember = "name" cmb_인증기관.ValueMember = "name" Me.cmb_인증기관.DataBindings.Add("selectedvalue", Me.bs, "인증기관") Dim bs_cmb_건물용도 As New BindingSource(DSET1, "tbl_common") bs_cmb_건물용도.Filter = "gubun='1201'" bs_cmb_건물용도.Sort = "code" cmb_주거용건축물.DataSource = bs_cmb_건물용도 cmb_주거용건축물.DisplayMember = "name" cmb_주거용건축물.ValueMember = "valn1" Me.cmb_주거용건축물.DataBindings.Add("selectedvalue", Me.bs, "isjugo") 'Dim DT주거용 As New DataTable 'DT주거용.Columns.Add("name") 'DT주거용.Columns.Add("value") 'DT주거용.Rows.Add(New String() {"주거용건축물(단독주택)", "1"}) 'DT주거용.Rows.Add(New String() {"주거용건축물(공동주택)", "2"}) 'DT주거용.Rows.Add(New String() {"비주거용(제1종근린생활시설)", "11"}) 'DT주거용.Rows.Add(New String() {"비주거용(제2종근린생활시설)", "12"}) 'DT주거용.Rows.Add(New String() {"비주거용(문화및집회시설)", "13"}) 'DT주거용.Rows.Add(New String() {"비주거용(종교시설)", "14"}) 'DT주거용.Rows.Add(New String() {"비주거용(판매시설)", "15"}) 'DT주거용.Rows.Add(New String() {"비주거용(의료시설)", "16"}) 'DT주거용.Rows.Add(New String() {"비주거용(교육연구시설)", "17"}) 'DT주거용.Rows.Add(New String() {"비주거용(노유자시설)", "18"}) 'DT주거용.Rows.Add(New String() {"비주거용(수련시설)", "19"}) 'DT주거용.Rows.Add(New String() {"비주거용(운동시설)", "20"}) 'DT주거용.Rows.Add(New String() {"비주거용(업무시설)", "21"}) 'DT주거용.Rows.Add(New String() {"비주거용(숙박시설)", "22"}) 'DT주거용.Rows.Add(New String() {"비주거용(위락시설)", "23"}) 'DT주거용.Rows.Add(New String() {"비주거용(고장물품제조가공이용시설)", "24"}) 'DT주거용.Rows.Add(New String() {"비주거용(창고시설)", "25"}) 'DT주거용.Rows.Add(New String() {"비주거용(위험물처리장)", "26"}) 'DT주거용.Rows.Add(New String() {"비주거용(자동차관리시설)", "27"}) 'DT주거용.Rows.Add(New String() {"비주거용(동물및식물관련시설)", "28"}) 'DT주거용.Rows.Add(New String() {"비주거용(분뇨및쓰레기처리시설)", "29"}) 'DT주거용.Rows.Add(New String() {"비주거용(교정및군사시설)", "30"}) 'DT주거용.Rows.Add(New String() {"비주거용(방송통신시설)", "31"}) 'DT주거용.Rows.Add(New String() {"비주거용(발전시설발전소)", "32"}) 'DT주거용.Rows.Add(New String() {"비주거용(묘지관리시설)", "33"}) 'DT주거용.Rows.Add(New String() {"비주거용(관광휴계시설)", "34"}) 'DT주거용.Rows.Add(New String() {"비주거용(장례식장)", "35"}) 'Me.cmb_주거용건축물.DataSource = DT주거용 'Me.cmb_주거용건축물.DisplayMember = "name" 'Me.cmb_주거용건축물.ValueMember = "value" 'Me.cmb_주거용건축물.DataBindings.Add("selectedvalue", Me.bs, "isjugo") 'AddHandler cmb_location.KeyDown, AddressOf Cmb_DeleteVal End Sub Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked Dim L As String = Me.cmb_location.SelectedValue If MsgBox("공용코드값을 서버로부터 가져오시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then Read_CommonCode() Me.cmb_location.SelectedValue = L Me.bs.EndEdit() End Sub Private Sub LinkLabel2_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel2.LinkClicked Dim L As String = Me.cmb_location.SelectedValue If MsgBox("기상데이터값을 서버로부터 가져오시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then Read_WeatherData() Me.cmb_location.SelectedValue = L Me.bs.EndEdit() End Sub Private Sub LinkLabel3_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel3.LinkClicked '//2010.12.06 추가 Dim L As String = Me.cmb_location.SelectedValue If MsgBox("표준프로파일값을 서버로부터 가져오시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then Read_ProfileData() Me.cmb_location.SelectedValue = L Me.bs.EndEdit() End Sub Private Sub bs_CurrentChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bs.CurrentChanged Me.bs.EndEdit() Dim drv As DataRowView = Me.bs.Current If drv Is Nothing Then Return If drv("공공").ToString = "" Then drv("공공") = "1" If drv("공공").ToString = "1" Then Me.CheckBox1.Checked = True Else Me.CheckBox1.Checked = False End If End Sub Private Sub DateTimePicker1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DateTimePicker1.ValueChanged, DateTimePicker2.ValueChanged '//준공이후 경과년수계산 Dim datetime1 As String = Format(Me.DateTimePicker1.Value, "yyyy") Dim datetime2 As String = Format(Me.DateTimePicker2.Value, "yyyy") Dim datetime3 As String = Format(Me.DateTimePicker1.Value, "MM") Dim datetime4 As String = Format(Me.DateTimePicker2.Value, "MM") Dim priod As Single Try If TOSG(datetime3) - TOSG(datetime4) >= 0 Then priod = Math.Round(TOSG(datetime1) - TOSG(datetime2) + (TOSG(datetime3) - TOSG(datetime4)) / 12, 1) Else priod = Math.Round(TOSG(datetime1) - TOSG(datetime2) - (TOSG(datetime4) - TOSG(datetime3)) / 12, 1) End If Catch ex As Exception priod = 0 End Try If priod < 0 Then priod = 0 MyTb6.Text = CStr(priod) Me.bs.EndEdit() End Sub Private Sub cmb_location_SelectedIndexChanged(sender As System.Object, e As System.EventArgs) Handles cmb_location.SelectedIndexChanged End Sub Private Sub CheckBox1_Click(sender As Object, e As System.EventArgs) Handles CheckBox1.Click Dim drv As DataRowView = Me.bs.Current If drv Is Nothing Then Return drv("공공") = IIf(Me.CheckBox1.Checked, "1", "0") End Sub Private Sub CheckBox1_CheckedChanged(sender As System.Object, e As System.EventArgs) Handles CheckBox1.CheckedChanged End Sub End Class