Public Class Frm_Weather #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() ' 디자이너에서 이 호출이 필요합니다. InitializeComponent() AddHandler DSET1.tbl_weather_od.TableNewRow, AddressOf AddNewDataRow_Weather AddHandler DSET1.weather_ilsa_od.TableNewRow, AddressOf AddNewDataRow_Weatherilsa AddHandler DSET1.weather_supdo_od.TableNewRow, AddressOf AddNewDataRow_Weathersupdo AddHandler DSET1.weather_temp_od.TableNewRow, AddressOf AddNewDataRow_Weathertemp AddHandler DSET1.weather_cha_od.TableNewRow, AddressOf AddNewDataRow_WeatherCha AddHandler DSET1.weather_group.TableNewRow, AddressOf AddNewDataRow_WeatherGrp AddHandler dvArea1.CellContentClick, AddressOf dv_cellcontclick AddHandler dvArea2.CellContentClick, AddressOf dv_cellcontclick AddHandler dvArea3.CellContentClick, AddressOf dv_cellcontclick End Sub Sub dv_cellcontclick(sender As Object, e As DataGridViewCellEventArgs) Dim grid As DataGridView = sender If grid.Columns(e.ColumnIndex).DataPropertyName <> "area" Then Return Dim f As New fSelectArea() If f.ShowDialog <> DialogResult.OK Then Return grid.Rows(e.RowIndex).Cells(e.ColumnIndex).Value = f.ComboBox1.Text.ToString() 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 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 Me.bs.DataSource = DSET1 Me.bsw_ilsa.DataSource = DSET1 Me.bsw_supdo.DataSource = DSET1 Me.bsw_temp.DataSource = DSET1 Me.bsw_cha.DataSource = DSET1 Me.bsWGDep1.DataSource = DSET1 Me.bsWGDep2.DataSource = DSET1 Me.bsWGDep3.DataSource = DSET1 '//콤보컨트롤 바인딩 Me.bn_all.BindingSource = Me.bs Me.bs = Me.bs Try Me.bs.Position = CEnergy.ARINCLASS.Read_LastPos_Frm(Me) Catch ex As Exception Me.bs.MoveFirst() End Try End Sub #Region "Weather 관련" Private Sub AddNewDataRow_WeatherGrp(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) End Sub Private Sub AddNewDataRow_Weather(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) If isImport Then Return e.Row.Item("code") = GetMaxCode(DSET1.tbl_weather_od) End Sub Private Sub AddNewDataRow_Weatherilsa(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) If isImport Then Return e.Row.Item("pcode") = CType(bs.Current, DataRowView)("code") '//일사데이터는 0001로부터하게한다 Dim Newcode As String Try Dim Dr As DataRow = DSET1.weather_ilsa_od.Select("pcode='" & e.Row.Item("pcode").ToString & "'", "code desc")(0) Newcode = Format(CInt(Dr("code")) + 1, "0000") Catch ex As Exception Newcode = "0001" End Try e.Row.Item("code") = Newcode End Sub Private Sub AddNewDataRow_Weathertemp(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) If isImport Then Return e.Row.Item("pcode") = CType(bs.Current, DataRowView)("code") e.Row.Item("code") = GetMaxCode(DSET1.weather_temp_od) End Sub Private Sub AddNewDataRow_Weathersupdo(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) If isImport Then Return e.Row.Item("pcode") = CType(bs.Current, DataRowView)("code") e.Row.Item("code") = GetMaxCode(DSET1.weather_supdo_od) End Sub Private Sub AddNewDataRow_WeatherCha(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) If isImport Then Return e.Row.Item("pcode") = CType(bs.Current, DataRowView)("code") e.Row.Item("code") = GetMaxCode(DSET1.weather_cha_od) End Sub Private Function GetMaxCode(ByVal dt As DataTable) As String Try Dim Dr As DataRow = dt.Select("", "code desc")(0) Return Format(CInt(Dr("code")) + 1, "0000") Catch ex As Exception Return "0001" End Try End Function Private Sub bt_add_weather_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not EndEdit(Me.bs) Then Return Me.bs.AddNew() End Sub Private Sub bt_Del_weather_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Dbbase.DelCrow(Me.bs, True) End Sub Private Sub bt_save_weather_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) If Not EndEdit(Me.bs) Then Return If Not EndEdit(Me.bsw_supdo) Then Return If Not EndEdit(Me.bsw_ilsa) Then Return If Not EndEdit(Me.bsw_temp) Then Return If Not EndEdit(Me.bsw_cha) Then Return If Not EndEdit(Me.bsWGDep1) Then Return If Not EndEdit(Me.bsWGDep2) Then Return If Not EndEdit(Me.bsWGDep3) Then Return Check_Modify(Me.DS.tbl_weather_od) Check_Modify(Me.DS.weather_ilsa_od, False) Check_Modify(Me.DS.weather_supdo_od, False) Check_Modify(Me.DS.weather_temp_od, False) Check_Modify(Me.DS.weather_cha_od, False) Check_Modify(Me.DS.weather_group, False) End Sub Private Sub bs_CurrentChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bs.CurrentChanged If isImport Then Return Dim drv As DataRowView = bs.Current If drv Is Nothing Then Return Dim pcode As String = drv("code").ToString Me.bsw_ilsa.Filter = "pcode='" & pcode & "'" Me.bsw_temp.Filter = "pcode='" & pcode & "'" Me.bsw_supdo.Filter = "pcode='" & pcode & "'" Me.bsw_cha.Filter = "pcode='" & pcode & "'" If DSET1.weather_temp_od.Select("pcode='" & pcode & "'").GetUpperBound(0) = -1 Then For i As Integer = 1 To 12 'MsgBox(i) Dim Dr As DS.weather_temp_odRow = DSET1.weather_temp_od.Newweather_temp_odRow Dr.code = Format(i, "0000") Dr.설명 = Format(i, "00") & "월" DSET1.weather_temp_od.Addweather_temp_odRow(Dr) Next Else 'MsgBox(Me.bsw_temp.Count) End If If DSET1.weather_supdo_od.Select("pcode='" & pcode & "'").GetUpperBound(0) = -1 Then For i As Integer = 1 To 12 Dim Dr As DS.weather_supdo_odRow = DSET1.weather_supdo_od.Newweather_supdo_odRow Dr.code = Format(i, "0000") Dr.설명 = Format(i, "00") & "월" DSET1.weather_supdo_od.Addweather_supdo_odRow(Dr) Next Else 'MsgBox(Me.bsw_supdo.Count) End If Me.DS.weather_temp_od.AcceptChanges() Me.DS.weather_supdo_od.AcceptChanges() End Sub Private Sub ToolStripButton14_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton14.Click If Not EndEdit(Me.bsw_ilsa) Then Return Me.bsw_ilsa.AddNew() End Sub Private Sub ToolStripButton15_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton15.Click Dbbase.DelCrow(Me.bsw_ilsa, True) End Sub Private Sub ToolStripButton29_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton29.Click If Not EndEdit(Me.bsw_temp) Then Return Me.bsw_temp.AddNew() End Sub Private Sub ToolStripButton30_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton30.Click Dbbase.DelCrow(Me.bsw_temp, True) End Sub Private Sub ToolStripButton37_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton37.Click If Not EndEdit(Me.bsw_supdo) Then Return Me.bsw_supdo.AddNew() End Sub Private Sub ToolStripButton38_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton38.Click Dbbase.DelCrow(Me.bsw_supdo, True) End Sub Private Sub ToolStripButton6_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton6.Click Dbbase.DelCrow(Me.bsw_cha, True) End Sub Private Sub ToolStripButton5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton5.Click If Not EndEdit(Me.bsw_cha) Then Return Me.bsw_cha.AddNew() End Sub #End Region Private Sub ToolStripButton48_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton48.Click If Prj.Opened = False Then MsgBox("먼저 파일을 불러오세요", MsgBoxStyle.Information, "확인") Return End If If Not EndEdit(Me.bs) Then Return Me.bs.AddNew() End Sub Private Sub ToolStripButton49_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton49.Click If Prj.Opened = False Then MsgBox("먼저 파일을 불러오세요", MsgBoxStyle.Information, "확인") Return End If Dbbase.DelCrow(Me.bs, True) End Sub Private Sub ToolStripButton51_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ToolStripButton51.Click If Prj.Opened = False Then MsgBox("먼저 파일을 불러오세요", MsgBoxStyle.Information, "확인") Return End If If MsgBox("변경된 내용을 취소하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "변경취소") <> MsgBoxResult.Ok Then Return DSET1.tbl_weather_od.RejectChanges() DSET1.weather_cha_od.RejectChanges() DSET1.weather_ilsa_od.RejectChanges() DSET1.weather_supdo_od.RejectChanges() DSET1.weather_temp_od.RejectChanges() DSET1.weather_group.RejectChanges() End Sub Private Sub tb_t1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_t1.KeyDown 'If e.KeyCode = Keys.V And e.Control Then ' e.Handled = True ' e.SuppressKeyPress = False ' '//클립보드붙여넣기 ' Dim CB() As String = My.Computer.Clipboard.GetText.Split(CChar(vbCrLf)) ' Dim Cnt As Short = 0 ' For i As Integer = 0 To CB.GetUpperBound(0) ' If CB(i).Trim <> "" Then ' If Cnt <> 0 Then ' Dim Ctl As TextBox = CType(Me.TableLayoutPanel3.Controls(Me.TableLayoutPanel3.Controls.IndexOfKey("tb_t" & CStr(Cnt + 1))), TextBox) ' Ctl.Text = CB(i).Trim ' End If ' Cnt = CShort(Cnt + 1) ' End If ' Next 'End If If e.KeyCode = Keys.V And e.Control Then e.Handled = True e.SuppressKeyPress = False '//클립보드붙여넣기 Dim CB() As String = My.Computer.Clipboard.GetText.Split(CChar(vbCrLf)) If CB.GetUpperBound(0) < 23 Then MsgBox("붙여넣기가 호환되는 데이터가 아닙니다.", MsgBoxStyle.Information, "확인") Return End If For ii As Integer = 0 To CType(CB(0).Split(CChar(vbTab)), String()).GetUpperBound(0) Dim Cnt As Short = 0 For i As Integer = 0 To CB.GetUpperBound(0) Select Case i Case 0 '//Me.tb_t1.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 1 Me.tb_t2.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 2 Me.tb_t3.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 3 Me.tb_t4.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 4 Me.tb_t5.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 5 Me.tb_t6.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 6 Me.tb_t7.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 7 Me.tb_t8.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 8 Me.tb_t9.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 9 Me.tb_t10.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 10 Me.tb_t11.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 11 Me.tb_t12.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 12 Me.tb_t13.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 13 Me.tb_t14.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 14 Me.tb_t15.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 15 Me.tb_t16.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 16 Me.tb_t17.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 17 Me.tb_t18.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 18 Me.tb_t19.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 19 Me.tb_t20.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 20 Me.tb_t21.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 21 Me.tb_t22.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 22 Me.tb_t23.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 23 Me.tb_t24.Text = CB(i).Split(CChar(vbTab))(ii).Trim End Select Next '//If bsw_temp.Position < bsw_temp.Count Then bsw_temp.Position += 1 '//위치이동 Next Me.bsw_temp.EndEdit() End If End Sub Private Sub tb_s1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_s1.KeyDown 'If e.KeyCode = Keys.V And e.Control Then ' e.Handled = True ' e.SuppressKeyPress = False ' '//클립보드붙여넣기 ' Dim CB() As String = My.Computer.Clipboard.GetText.Split(CChar(vbCrLf)) ' Dim Cnt As Short = 0 ' For i As Integer = 0 To CB.GetUpperBound(0) ' If CB(i).Trim <> "" Then ' If Cnt <> 0 Then ' Dim Ctl As TextBox = CType(Me.TableLayoutPanel7.Controls(Me.TableLayoutPanel7.Controls.IndexOfKey("tb_s" & CStr(Cnt + 1))), TextBox) ' Ctl.Text = CB(i).Trim ' End If ' Cnt = CShort(Cnt + 1) ' End If ' Next 'End If If e.KeyCode = Keys.V And e.Control Then e.Handled = True e.SuppressKeyPress = False '//클립보드붙여넣기 Dim CB() As String = My.Computer.Clipboard.GetText.Split(CChar(vbCrLf)) If CB.GetUpperBound(0) < 23 Then MsgBox("붙여넣기가 호환되는 데이터가 아닙니다.", MsgBoxStyle.Information, "확인") Return End If For ii As Integer = 0 To CType(CB(0).Split(CChar(vbTab)), String()).GetUpperBound(0) Dim Cnt As Short = 0 For i As Integer = 0 To CB.GetUpperBound(0) Select Case i Case 0 '//Me.tb_s1.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 1 Me.tb_s2.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 2 Me.tb_s3.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 3 Me.tb_s4.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 4 Me.tb_s5.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 5 Me.tb_s6.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 6 Me.tb_s7.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 7 Me.tb_s8.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 8 Me.tb_s9.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 9 Me.tb_s10.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 10 Me.tb_s11.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 11 Me.tb_S12.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 12 Me.tb_s13.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 13 Me.tb_s14.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 14 Me.tb_s15.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 15 Me.tb_s16.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 16 Me.tb_s17.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 17 Me.tb_s18.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 18 Me.tb_s19.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 19 Me.tb_s20.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 20 Me.tb_s21.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 21 Me.tb_s22.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 22 Me.tb_s23.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 23 Me.tb_s24.Text = CB(i).Split(CChar(vbTab))(ii).Trim End Select Next '//If bsw_supdo.Position < bsw_supdo.Count Then bsw_supdo.Position += 1 '//위치이동 Next Me.bsw_supdo.EndEdit() End If End Sub Private Sub tb_v0_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_v0.KeyDown 'If e.KeyCode = Keys.V And e.Control Then ' '//클립보드붙여넣기 ' Dim CB() As String = My.Computer.Clipboard.GetText.Split(CChar(vbCrLf)) ' Dim Cnt As Short = 0 ' For i As Integer = 0 To CB.GetUpperBound(0) ' If CB(i).Trim <> "" Then ' If Cnt <> 0 Then ' Dim Ctl As TextBox = CType(Me.TableLayoutPanel2.Controls(Me.TableLayoutPanel2.Controls.IndexOfKey("tb_v" & CStr(Cnt))), TextBox) ' Ctl.Text = CB(i).Trim ' End If ' Cnt = CShort(Cnt + 1) ' End If ' Next ' e.Handled = True ' e.SuppressKeyPress = False 'End If If e.KeyCode = Keys.V And e.Control Then e.Handled = True e.SuppressKeyPress = False Dim CB() As String = My.Computer.Clipboard.GetText.Split(CChar(vbCrLf)) If CB.GetUpperBound(0) < 12 Then MsgBox("붙여넣기가 호환되는 데이터가 아닙니다.", MsgBoxStyle.Information, "확인") Return End If '//클립보드붙여넣기 For ii As Integer = 0 To CType(CB(0).Split(CChar(vbTab)), String()).GetUpperBound(0) 'If Me.bs.Count = 0 OrElse ii > 0 Then Me.bt_Add.PerformClick() '//한줄추가 'MsgBox(CB.GetUpperBound(0)) Dim Cnt As Short = 0 For i As Integer = 0 To CB.GetUpperBound(0) Select Case i Case 0 '///조명은 신규기록하지않으므로.. 쓰지않게한다. '//Me.tb_v0.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 1 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v1.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 2 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v2.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 3 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v3.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 4 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v4.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 5 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v5.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 6 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v6.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 7 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v7.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 8 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v8.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 9 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v9.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 10 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v10.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 11 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v11.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 12 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_v12.Text = CB(i).Split(CChar(vbTab))(ii).Trim End Select Next '// If bsw_cha.Position < bsw_cha.Count Then bsw_cha.Position += 1 '//위치이동 Next Me.bsw_ilsa.EndEdit() End If End Sub Private Sub Frm_V20091231_Zone_MouseWheel(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Me.MouseWheel If e.Delta < 0 Then If Me.bs.Position < Me.bs.Count Then Me.bs.Position += 1 Else If Me.bs.Position > 0 Then Me.bs.Position -= 1 End If Me.Validate() My.Application.DoEvents() End Sub Private Sub NTb4_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_c01.KeyDown If e.KeyCode = Keys.V And e.Control Then e.Handled = True e.SuppressKeyPress = False '//클립보드붙여넣기 Dim CB() As String = My.Computer.Clipboard.GetText.Split(CChar(vbCrLf)) If CB.GetUpperBound(0) < 11 Then MsgBox("붙여넣기가 호환되는 데이터가 아닙니다.", MsgBoxStyle.Information, "확인") Return End If For ii As Integer = 0 To CType(CB(0).Split(CChar(vbTab)), String()).GetUpperBound(0) 'If Me.bs.Count = 0 OrElse ii > 0 Then Me.bt_Add.PerformClick() '//한줄추가 'MsgBox(CB.GetUpperBound(0)) Dim Cnt As Short = 0 For i As Integer = 0 To CB.GetUpperBound(0) Select Case i Case 0 '///조명은 신규기록하지않으므로.. 쓰지않게한다. '//Me.tb_c01.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 1 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_c02.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 2 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_c03.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 3 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_c04.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 4 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_c05.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 5 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_c06.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 6 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_c07.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 7 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_c08.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 8 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_c09.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 9 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_c10.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 10 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_c11.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 11 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_c12.Text = CB(i).Split(CChar(vbTab))(ii).Trim End Select Next '//If bsw_cha.Position < bsw_cha.Count Then bsw_cha.Position += 1 '//위치이동 Next Me.bsw_cha.EndEdit() End If End Sub Private Sub dv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dv.MouseUp If e.Button = Windows.Forms.MouseButtons.Right Then Dim Frm_FilterA As New Frm_Filter Frm_FilterA.ColumTitle = getColCaption(Me.Dt) Frm_FilterA.ColumList = getColName(Me.Dt) Frm_FilterA.Colorlist = "" If Frm_FilterA.ShowDialog <> Windows.Forms.DialogResult.OK Then Return '//창떳을떄 확인아ㅣ고 취소눌르면 다음을 수행하지않는다는거에요. Dim Filter As String = Frm_FilterA.tb_filter.Text '//값은 아까 그 텍박에 잇구요. Try Me.bs.Filter = Filter Catch ex As Exception Me.bs.Filter = "" End Try End If End Sub Private Sub 외기온도_난방기_NTb_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_wnan.KeyDown If e.KeyCode = Keys.V And e.Control Then e.Handled = True e.SuppressKeyPress = False '//클립보드붙여넣기 Dim CB() As String = My.Computer.Clipboard.GetText.Split(CChar(vbCrLf)) If CB.GetUpperBound(0) < 14 Then MsgBox("붙여넣기가 호환되는 데이터가 아닙니다.", MsgBoxStyle.Information, "확인") Return End If For ii As Integer = 0 To CType(CB(0).Split(CChar(vbTab)), String()).GetUpperBound(0) 'If Me.bs.Count = 0 OrElse ii > 0 Then Me.bt_Add.PerformClick() '//한줄추가 'MsgBox(CB.GetUpperBound(0)) Dim Cnt As Short = 0 For i As Integer = 0 To CB.GetUpperBound(0) Select Case i Case 0 '///조명은 신규기록하지않으므로.. 쓰지않게한다. 'Me.tb_wnan.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 1 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_wnaen.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 2 '///조명은 신규기록하지않으므로.. 쓰지않게한다. 'Me.tb_c03.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 3 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w01.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 4 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w02.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 5 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w03.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 6 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w04.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 7 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w05.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 8 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w06.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 9 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w07.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 10 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w08.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 11 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w09.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 12 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w10.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 13 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w11.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 14 '///조명은 신규기록하지않으므로.. 쓰지않게한다. Me.tb_w12.Text = CB(i).Split(CChar(vbTab))(ii).Trim End Select Next If bsw_cha.Position < bsw_cha.Count Then bsw_cha.Position += 1 '//위치이동 Next Me.bsw_cha.EndEdit() End If End Sub Private Sub Arindv2_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Arindv2.KeyDown If e.KeyCode = Keys.C AndAlso e.Control Then My.Computer.Clipboard.SetData("ILSAROW", Me.Arindv2.SelectedRows) ElseIf e.KeyCode = Keys.V AndAlso e.Control Then Dim A As DataGridViewSelectedRowCollection = My.Computer.Clipboard.GetData("ILSAROW") For i As Integer = 1 To A.Count Me.ToolStripButton14.PerformClick() '//한줄추가하고 Dim Drv As DataRowView = Me.bsw_ilsa.Current Drv("설명") = A(i).Cells(0).Value Next End If End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click For Each drp As DS.tbl_weather_odRow In DSET1.tbl_weather_od.Rows Dim i As Integer = 0 For Each dr As DS.weather_cha_odRow In DSET1.weather_cha_od.Select("pcode='" & drp.code & "'") i += 1 dr.code = Format(i, "0000") Next Next 'For j As Integer = 1 To DSET1.weather_cha.Select(Me.bsw_cha.Filter).Length ' DSET1.weather_cha.Select(Me.bsw_cha.Filter)(j - 1)("code") = Format(j, "0000") 'Next DS.weather_cha_od.AcceptChanges() '//이건 변경내역을 반영하게삳는겁니다. End Sub Private Sub Arindv3_CellContentClick(sender As System.Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles Arindv3.CellContentClick End Sub Dim isImport As Boolean = False Private Sub eximport() If MsgBox("현 자료가 삭제됩니다 실행?", MsgBoxStyle.Question Or MsgBoxStyle.YesNo, "확인") <> MsgBoxResult.Yes Then Return Dim od As New OpenFileDialog od.Filter = "excle|*.xls" od.RestoreDirectory = True If od.ShowDialog() <> Windows.Forms.DialogResult.OK Then Return isImport = True Dim xlApp As Excel.Application = New Excel.Application ' CreateObject("Excel.Application") Dim xlBook As Excel.Workbook = xlApp.Workbooks.Open(od.FileName) Dim xlSheet1 As Excel.Worksheet = xlBook.Worksheets(2) '//첫번째 시트로고정 DSET1.tbl_weather_od.Clear() DSET1.weather_cha_od.Clear() DSET1.weather_ilsa_od.Clear() DSET1.weather_temp_od.Clear() DSET1.weather_supdo_od.Clear() Dim Rng As Excel.Range = xlSheet1.Range("B3") '//Offset으로사용할것이므로 0,0셀을 선택한다 Dim newdr0 As DS.tbl_weather_odRow = DSET1.tbl_weather_od.NewRow newdr0.건물위치 = "없음" newdr0.code = "0" DSET1.tbl_weather_od.Addtbl_weather_odRow(newdr0) '//전체 66개의 지역 For area As Integer = 1 To 66 Dim 지역명 As String = Rng.Offset(0, area - 1).Value Dim 지역코드 As String = area.ToString("0000") Dim newdr As DS.tbl_weather_odRow = DSET1.tbl_weather_od.NewRow newdr.건물위치 = 지역명 newdr.code = 지역코드 newdr.난방기 = Rng.Offset(3, area - 1).Value newdr.냉방기 = Rng.Offset(4, area - 1).Value '//월별 외기평균온도 For i As Integer = 1 To 12 newdr("m" + i.ToString("00")) = Rng.Offset(i + 5, area - 1).Value Next DSET1.tbl_weather_od.Addtbl_weather_odRow(newdr) '//월별 평균일사(수평면) Dim dr일사 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr일사.code = "0001" dr일사.pcode = 지역코드 dr일사.설명 = "수평면" dr일사.최대부하 = Rng.Offset(19, area - 1).Value For i As Integer = 1 To 12 dr일사("m" + i.ToString("00")) = Rng.Offset(20 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr일사) '//월별 평균일사(남향) Dim dr남향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr남향.code = "0002" dr남향.pcode = 지역코드 dr남향.설명 = "남향" dr남향.최대부하 = Rng.Offset(33, area - 1).Value For i As Integer = 1 To 12 dr남향("m" + i.ToString("00")) = Rng.Offset(34 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr남향) '//월별 평균일사(남동향) Dim dr남동향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr남동향.code = "0003" dr남동향.pcode = 지역코드 dr남동향.설명 = "남동향" dr남동향.최대부하 = Rng.Offset(47, area - 1).Value For i As Integer = 1 To 12 dr남동향("m" + i.ToString("00")) = Rng.Offset(48 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr남동향) '//월별 평균일사(남서향) Dim dr남서향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr남서향.code = "0004" dr남서향.pcode = 지역코드 dr남서향.설명 = "남서향" dr남서향.최대부하 = Rng.Offset(61, area - 1).Value For i As Integer = 1 To 12 dr남서향("m" + i.ToString("00")) = Rng.Offset(62 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr남서향) '//월별 평균일사(동향) Dim dr동향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr동향.code = "0005" dr동향.pcode = 지역코드 dr동향.설명 = "동향" dr동향.최대부하 = Rng.Offset(75, area - 1).Value For i As Integer = 1 To 12 dr동향("m" + i.ToString("00")) = Rng.Offset(76 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr동향) '//월별 평균일사(서향) Dim dr서향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr서향.code = "0006" dr서향.pcode = 지역코드 dr서향.설명 = "서향" dr서향.최대부하 = Rng.Offset(89, area - 1).Value For i As Integer = 1 To 12 dr서향("m" + i.ToString("00")) = Rng.Offset(90 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr서향) '//월별 평균일사(북동향) Dim dr북동향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr북동향.code = "0007" dr북동향.pcode = 지역코드 dr북동향.설명 = "북동향" dr북동향.최대부하 = Rng.Offset(103, area - 1).Value For i As Integer = 1 To 12 dr북동향("m" + i.ToString("00")) = Rng.Offset(104 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr북동향) '//월별 평균일사(북서향) Dim dr북서향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr북서향.code = "0008" dr북서향.pcode = 지역코드 dr북서향.설명 = "북서향" dr북서향.최대부하 = Rng.Offset(117, area - 1).Value For i As Integer = 1 To 12 dr북서향("m" + i.ToString("00")) = Rng.Offset(118 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr북서향) '//월별 평균일사(북향) Dim dr북향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr북향.code = "0009" dr북향.pcode = 지역코드 dr북향.설명 = "북향" dr북향.최대부하 = Rng.Offset(131, area - 1).Value For i As Integer = 1 To 12 dr북향("m" + i.ToString("00")) = Rng.Offset(132 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr북향) '//월별 평균일사(45도남향) Dim dr45도남향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr45도남향.code = "0010" dr45도남향.pcode = 지역코드 dr45도남향.설명 = "45도남향" dr45도남향.최대부하 = Rng.Offset(145, area - 1).Value For i As Integer = 1 To 12 dr45도남향("m" + i.ToString("00")) = Rng.Offset(146 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr45도남향) '//월별 평균일사(45도남동향) Dim dr45도남동향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr45도남동향.code = "0011" dr45도남동향.pcode = 지역코드 dr45도남동향.설명 = "45도남동향" dr45도남동향.최대부하 = Rng.Offset(159, area - 1).Value For i As Integer = 1 To 12 dr45도남동향("m" + i.ToString("00")) = Rng.Offset(160 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr45도남동향) '//월별 평균일사(45도남서향) Dim dr45도남서향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr45도남서향.code = "0012" dr45도남서향.pcode = 지역코드 dr45도남서향.설명 = "45도남서향" dr45도남서향.최대부하 = Rng.Offset(173, area - 1).Value For i As Integer = 1 To 12 dr45도남서향("m" + i.ToString("00")) = Rng.Offset(174 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr45도남서향) '//월별 평균일사(45도동향) Dim dr45도동향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr45도동향.code = "0013" dr45도동향.pcode = 지역코드 dr45도동향.설명 = "45도동향" dr45도동향.최대부하 = Rng.Offset(187, area - 1).Value For i As Integer = 1 To 12 dr45도동향("m" + i.ToString("00")) = Rng.Offset(188 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr45도동향) '//월별 평균일사(45도서향) Dim dr45도서향 As DS.weather_ilsa_odRow = DSET1.weather_ilsa_od.NewRow dr45도서향.code = "0014" dr45도서향.pcode = 지역코드 dr45도서향.설명 = "45도서향" dr45도서향.최대부하 = Rng.Offset(201, area - 1).Value For i As Integer = 1 To 12 dr45도서향("m" + i.ToString("00")) = Rng.Offset(202 + (i - 1), area - 1).Value Next DSET1.weather_ilsa_od.Addweather_ilsa_odRow(dr45도서향) '//월별 평균온도(1) For m As Integer = 1 To 12 Dim offset As Integer = (m - 1) * 25 Dim dr평균온도1월 As DS.weather_temp_odRow = DSET1.weather_temp_od.NewRow dr평균온도1월.code = m.ToString("0000") dr평균온도1월.pcode = 지역코드 dr평균온도1월.설명 = m.ToString("00") + "월" For i As Integer = 1 To 24 dr평균온도1월("t" + i.ToString("00")) = Rng.Offset((215 + offset) + (i - 1), area - 1).Value Next DSET1.weather_temp_od.Addweather_temp_odRow(dr평균온도1월) Next '//월별 평균습도(1) For m As Integer = 1 To 12 Dim offset As Integer = (m - 1) * 25 Dim dr평균온도1월 As DS.weather_supdo_odRow = DSET1.weather_supdo_od.NewRow dr평균온도1월.code = m.ToString("0000") dr평균온도1월.pcode = 지역코드 dr평균온도1월.설명 = m.ToString("00") + "월" For i As Integer = 1 To 24 dr평균온도1월("t" + i.ToString("00")) = Rng.Offset((515 + offset) + (i - 1), area - 1).Value Next DSET1.weather_supdo_od.Addweather_supdo_odRow(dr평균온도1월) Next '//차양감소계수 For m As Integer = 1 To 8 Dim offset As Integer = (m - 1) * 13 Dim dr평균온도1월 As DS.weather_cha_odRow = DSET1.weather_cha_od.NewRow dr평균온도1월.code = m.ToString("0000") dr평균온도1월.pcode = 지역코드 Select Case m Case 1 dr평균온도1월.설명 = "남향" Case 2 dr평균온도1월.설명 = "남동향" Case 3 dr평균온도1월.설명 = "남서향" Case 4 dr평균온도1월.설명 = "동향" Case 5 dr평균온도1월.설명 = "서향" Case 6 dr평균온도1월.설명 = "북동향" Case 7 dr평균온도1월.설명 = "북서향" Case 8 dr평균온도1월.설명 = "북향" End Select For i As Integer = 1 To 12 dr평균온도1월("m" + i.ToString("00")) = Rng.Offset((815 + offset) + (i - 1), area - 1).Value Next DSET1.weather_cha_od.Addweather_cha_odRow(dr평균온도1월) Next Next Work_msg("") '//Dispos Excel Object xlBook.Close() xlApp.Application.Quit() xlApp = Nothing xlBook = Nothing xlSheet1 = Nothing '//update isImport = False '//refresh bs_CurrentChanged(Nothing, Nothing) MsgBox("ok") End Sub Private Sub ToolStripButton7_Click(sender As Object, e As EventArgs) Handles ToolStripButton7.Click eximport() End Sub Private Sub bsWGDep1_CurrentChanged(sender As Object, e As EventArgs) Handles bsWGDep1.CurrentChanged '//select 1 depth Dim drv As DataRowView = Me.bsWGDep1.Current If drv Is Nothing OrElse drv("code").ToString().Length < 6 Then bsWGDep2.Filter = "code='test'" Else Dim codeHeader As String = drv("code").ToString().Substring(0, 2) bsWGDep2.Filter = String.Format("code like '{0}%' and code not like '%0000' and code like '%00'", codeHeader) End If End Sub Private Sub bsWGDep2_CurrentChanged(sender As Object, e As EventArgs) Handles bsWGDep2.CurrentChanged '//select 2 depth Dim drv As DataRowView = Me.bsWGDep2.Current If drv Is Nothing OrElse drv("code").ToString().Length < 6 Then bsWGDep3.Filter = "code='test'" Else Dim codeHeader As String = drv("code").ToString().Substring(0, 4) bsWGDep3.Filter = String.Format("code like '{0}%' and code not like '%00'", codeHeader) End If End Sub Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click '//add 2 '//1번이 선택되지 않앗다면 넘어간다. Dim drv1 As DataRowView = Me.bsWGDep1.Current If drv1 Is Nothing OrElse drv1("code").ToString().Length < 6 Then Return Dim codeHeader As String = drv1("code").ToString().Substring(0, 2) Dim newcode As String = String.Empty For i As Integer = 1 To 99 Dim ccode As String = codeHeader + i.ToString("00") + "00" '//이 코드가 현재 없다면 적용한다. If DSET1.weather_group.Select("code='" + ccode + "'").Length < 1 Then newcode = ccode Exit For End If Next If String.IsNullOrEmpty(newcode) Then MsgBox("신규번호를 할당 하지 못했습니다", MsgBoxStyle.Critical, "확인") Return End If Dim newdr As DS.weather_groupRow = DSET1.weather_group.Newweather_groupRow newdr.code = newcode newdr.name = "<지역명>" DSET1.weather_group.Addweather_groupRow(newdr) End Sub Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click '/add 3 '//2번이 선택되지 않앗다면 넘어간다. Dim drv1 As DataRowView = Me.bsWGDep2.Current If drv1 Is Nothing OrElse drv1("code").ToString().Length < 6 Then Return Dim codeHeader As String = drv1("code").ToString().Substring(0, 4) Dim newcode As String = String.Empty For i As Integer = 1 To 99 Dim ccode As String = codeHeader + i.ToString("00") '//이 코드가 현재 없다면 적용한다. If DSET1.weather_group.Select("code='" + ccode + "'").Length < 1 Then newcode = ccode Exit For End If Next If String.IsNullOrEmpty(newcode) Then MsgBox("신규번호를 할당 하지 못했습니다", MsgBoxStyle.Critical, "확인") Return End If Dim newdr As DS.weather_groupRow = DSET1.weather_group.Newweather_groupRow newdr.code = newcode newdr.name = "<지역명>" DSET1.weather_group.Addweather_groupRow(newdr) End Sub Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click '//delete 1dep '//하위모든데이터를 삭제해야한다. Dim drv As DataRowView = Me.bsWGDep1.Current If drv Is Nothing OrElse drv("code").ToString().Length < 6 Then Return Dim codeHeader As String = drv("code").ToString().Substring(0, 2) Dim drows() As DataRow = DSET1.weather_group.Select(String.Format("code like '{0}%'", codeHeader)) For i As Integer = drows.Length To 1 Step -1 DSET1.weather_group.Rows.Remove(drows(i - 1)) Next End Sub Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click '//delete 2dep '//하위모든데이터를 삭제해야한다. Dim drv As DataRowView = Me.bsWGDep2.Current If drv Is Nothing OrElse drv("code").ToString().Length < 6 Then Return Dim codeHeader As String = drv("code").ToString().Substring(0, 4) Dim drows() As DataRow = DSET1.weather_group.Select(String.Format("code like '{0}%'", codeHeader)) For i As Integer = drows.Length To 1 Step -1 DSET1.weather_group.Rows.Remove(drows(i - 1)) Next End Sub Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click '//delete 3dep Dim drv As DataRowView = Me.bsWGDep3.Current If drv Is Nothing OrElse drv("code").ToString().Length < 6 Then Return Dim codeHeader As String = drv("code").ToString().Substring(0, 6) Dim drows() As DataRow = DSET1.weather_group.Select(String.Format("code like '{0}%'", codeHeader)) For i As Integer = drows.Length To 1 Step -1 DSET1.weather_group.Rows.Remove(drows(i - 1)) Next End Sub Private Sub dvArea1_DataError(sender As System.Object, e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles dvArea1.DataError End Sub Private Sub dvArea2_DataError(sender As System.Object, e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles dvArea2.DataError End Sub Private Sub dvArea3_DataError(sender As System.Object, e As System.Windows.Forms.DataGridViewDataErrorEventArgs) Handles dvArea3.DataError End Sub Private Sub Button7_Click(sender As Object, e As EventArgs) Dim sd As New SaveFileDialog() If sd.ShowDialog() = DialogResult.OK Then DSET1.weather_group.WriteXml(sd.FileName) End If End Sub Private Sub Button8_Click(sender As Object, e As EventArgs) End Sub Private Sub bsWGDep3_CurrentChanged(sender As Object, e As EventArgs) Handles bsWGDep3.CurrentChanged End Sub Private Sub ToolStripButton8_Click(sender As Object, e As EventArgs) Handles ToolStripButton8.Click Dim sd As New FolderBrowserDialog() If sd.ShowDialog() = DialogResult.OK Then DSET1.weather_cha.Clear() DSET1.weather_ilsa.Clear() DSET1.weather_supdo.Clear() DSET1.weather_temp.Clear() DSET1.tbl_weather.Clear() DSET1.weather_cha.Merge(DSET1.weather_cha_od) DSET1.weather_ilsa.Merge(DSET1.weather_ilsa_od) DSET1.weather_supdo.Merge(DSET1.weather_supdo_od) DSET1.weather_temp.Merge(DSET1.weather_temp_od) DSET1.tbl_weather.Merge(DSET1.tbl_weather_od) '모든파일을 저장한다. DSET1.weather_cha.WriteXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.weather_cha.TableName + ".xml")) DSET1.weather_ilsa.WriteXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.weather_ilsa.TableName + ".xml")) DSET1.weather_supdo.WriteXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.weather_supdo.TableName + ".xml")) DSET1.weather_temp.WriteXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.weather_temp.TableName + ".xml")) DSET1.tbl_weather.WriteXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.tbl_weather.TableName + ".xml")) DSET1.weather_group.WriteXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.weather_group.TableName + ".xml")) End If End Sub Private Sub ToolStripButton13_Click(sender As Object, e As EventArgs) Handles ToolStripButton13.Click Dim sd As New FolderBrowserDialog() If sd.ShowDialog() = DialogResult.OK Then DSET1.weather_cha.Clear() DSET1.weather_ilsa.Clear() DSET1.weather_supdo.Clear() DSET1.weather_temp.Clear() DSET1.weather_group.Clear() DSET1.tbl_weather.Clear() DSET1.weather_cha_od.Clear() DSET1.weather_ilsa_od.Clear() DSET1.weather_supdo_od.Clear() DSET1.weather_temp_od.Clear() DSET1.tbl_weather_od.Clear() DSET1.weather_cha.ReadXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.weather_cha.TableName + ".xml")) DSET1.weather_ilsa.ReadXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.weather_ilsa.TableName + ".xml")) DSET1.weather_supdo.ReadXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.weather_supdo.TableName + ".xml")) DSET1.weather_temp.ReadXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.weather_temp.TableName + ".xml")) DSET1.tbl_weather.ReadXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.tbl_weather.TableName + ".xml")) DSET1.weather_group.ReadXml(System.IO.Path.Combine(sd.SelectedPath, DSET1.weather_group.TableName + ".xml")) '//od는 od 데이터에 다시 옴겨야한다 DSET1.weather_cha_od.Merge(DSET1.weather_cha) DSET1.weather_ilsa_od.Merge(DSET1.weather_ilsa) DSET1.weather_supdo_od.Merge(DSET1.weather_supdo) DSET1.weather_temp_od.Merge(DSET1.weather_temp) DSET1.tbl_weather_od.Merge(DSET1.tbl_weather) DSET1.weather_cha_od.AcceptChanges() DSET1.weather_ilsa_od.AcceptChanges() DSET1.weather_supdo_od.AcceptChanges() DSET1.weather_temp_od.AcceptChanges() DSET1.tbl_weather.AcceptChanges() DSET1.weather_group.AcceptChanges() End If End Sub End Class