Public Class Frm_New Dim Init As Boolean = False Dim SrcDrv As DataRowView #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 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_new" newdr.ovalue = oval newdr.nvalue = nval newdr.column = e.Column.ColumnName newdr.code = e.Row("code").ToString DSHistory.history.AddhistoryRow(newdr) DSHistory.history.AcceptChanges() End If End Sub Private Sub ShowHistory() Dim drv As DataRowView = Me.bs.Current Dim f As New Frm_History("tbl_new", drv("code").ToString) 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 MdiMain_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.Show() My.Application.DoEvents() 'Work_msg_timer("잠시만 기다려주세요") 'CEnergy.ARINCLASS.SaveLoad_FrmSetting(Me) '//프로필 관련 '//공유데이터셋에 연결한다. Me.bs.DataSource = DSET1 'If Me.bs.Count < 1 Then ' Me.bs.AddNew() ' Dim DRv As DataRowView = bs.Current ' DRv("code") = Me.GetMaxCode(DSET1.tbl_new) 'End If '//신재생 AddHandler DSET1.tbl_new.TableNewRow, AddressOf AddNewDataRow_new AddHandler DSET1.tbl_new.ColumnChanging, AddressOf AddNewDataRow_Zone_Changed2 '//콤보컨트롤 바인딩 Binding_Zone() '//모든컨트롤의 cTrl_enter 를 추가합니다 BindProperty(CType(Me.SplitContainer1.Panel2.Controls, Control.ControlCollection)) Me.bs.Filter = "code <> '0'" If Me.Parameter <> "" Then Me.bs.Filter &= " and 기기종류 ='" + Me.Parameter + "'" ' Me.lb_grpname.Text = Me.Parameter Me.Init = True Try Me.bs.Position = CEnergy.ARINCLASS.Read_LastPos_Frm(Me) Catch ex As Exception Me.bs.MoveFirst() End Try bs_CurrentChanged(sender, e) Me.Validate_Control() AddDebug("▲ Form Load") End Sub #Region "Control_Enter" Private Sub BindProperty(ByVal Ctl As Control.ControlCollection) For Each C As Control In Ctl If C.Controls.Count > 1 Then BindProperty(C.Controls) Else If C.GetType.ToString.ToUpper.IndexOf("MYTB") <> -1 Then AddHandler CType(C, MyTb).KeyDown, AddressOf TextBOx_KeyDown ElseIf C.GetType.ToString.ToUpper.IndexOf("MYCMB") <> -1 Then AddHandler CType(C, MyCmb).KeyDown, AddressOf Cmd_KeyDown End If End If Next End Sub Private Sub TextBOx_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) If e.KeyCode = Keys.Enter AndAlso e.Control Then Try Dim Field As String = (CType(sender, MyTb).DataBindings.Item("text").BindingMemberInfo.BindingField) For Each Dr As DataRow In Dt.Select(Me.bs.Filter, "") Dr(Field) = CType(sender, MyTb).Text Next Work_msg_timer("모든값이 변경되었습니다", 25) Catch ex As Exception End Try End If End Sub Private Sub Cmd_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) If e.KeyCode = Keys.Enter AndAlso e.Control Then Try Dim Field As String = (CType(sender, MyCmb).DataBindings.Item("selectedvalue").BindingMemberInfo.BindingField) For Each Dr As DataRow In Dt.Select(Me.bs.Filter, "") Dr(Field) = CType(sender, MyCmb).SelectedValue Next Work_msg_timer("모든값이 변경되었습니다", 25) Catch ex As Exception End Try End If End Sub #End Region #Region "신재생" 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 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 Binding_Zone() '//신재생 Dim bs_기기종류ComboBox As New BindingSource(DSET1, "tbl_common") bs_기기종류ComboBox.Filter = "gubun='1028'" bs_기기종류ComboBox.Sort = "code" Me.기기종류ComboBox.DataSource = bs_기기종류ComboBox 기기종류ComboBox.DisplayMember = "name" 기기종류ComboBox.ValueMember = "name" Me.기기종류ComboBox.DataBindings.Add("selectedvalue", Me.bs, "기기종류") AddHandler 기기종류ComboBox.KeyDown, AddressOf Cmb_DeleteVal Dim bs_가동연료ComboBox As New BindingSource(DSET1, "tbl_common") bs_가동연료ComboBox.Filter = "gubun='1066'" bs_가동연료ComboBox.Sort = "code" Me.cmb_가동연료.DataSource = bs_가동연료ComboBox cmb_가동연료.DisplayMember = "name" cmb_가동연료.ValueMember = "name" Me.cmb_가동연료.DataBindings.Add("selectedvalue", Me.bs, "가동연료") 'AddHandler 지열가동연료ComboBox.KeyDown, AddressOf Cmb_DeleteVal Dim bs_태양열종류ComboBox As New BindingSource(DSET1, "tbl_common") bs_태양열종류ComboBox.Filter = "gubun='1057'" bs_태양열종류ComboBox.Sort = "code" Me.cmb_태양열시스템종류.DataSource = bs_태양열종류ComboBox cmb_태양열시스템종류.DisplayMember = "name" cmb_태양열시스템종류.ValueMember = "name" Me.cmb_태양열시스템종류.DataBindings.Add("selectedvalue", Me.bs, "태양열종류") 'AddHandler 태양열종류ComboBox.KeyDown, AddressOf Cmb_DeleteVal Dim bs_집열기유형ComboBox As New BindingSource(DSET1, "tbl_common") bs_집열기유형ComboBox.Filter = "gubun='1058'" bs_집열기유형ComboBox.Sort = "code" Me.cmb_집열기유형.DataSource = bs_집열기유형ComboBox cmb_집열기유형.DisplayMember = "name" cmb_집열기유형.ValueMember = "name" Me.cmb_집열기유형.DataBindings.Add("selectedvalue", Me.bs, "집열기유형") 'AddHandler 집열기유형ComboBox.KeyDown, AddressOf Cmb_DeleteVal '집열기유형ComboBox Dim bs_집열판방위ComboBox As New BindingSource(DSET1, "tbl_common") bs_집열판방위ComboBox.Filter = "gubun='1059'" bs_집열판방위ComboBox.Sort = "code" Me.cmb_집열판방위.DataSource = bs_집열판방위ComboBox cmb_집열판방위.DisplayMember = "name" cmb_집열판방위.ValueMember = "name" Me.cmb_집열판방위.DataBindings.Add("selectedvalue", Me.bs, "집열판방위") 'AddHandler 집열판방위ComboBox.KeyDown, AddressOf Cmb_DeleteVal Dim bs_태양열시스템의성능ComboBox As New BindingSource(DSET1, "tbl_common") bs_태양열시스템의성능ComboBox.Filter = "gubun='1060'" bs_태양열시스템의성능ComboBox.Sort = "code" Me.cmb_태양열시스템의성능.DataSource = bs_태양열시스템의성능ComboBox cmb_태양열시스템의성능.DisplayMember = "name" cmb_태양열시스템의성능.ValueMember = "name" Me.cmb_태양열시스템의성능.DataBindings.Add("selectedvalue", Me.bs, "태양열시스템의성능") 'AddHandler 태양열시스템의성능ComboBox.KeyDown, AddressOf Cmb_DeleteVal Dim bs_축열탱크설치장소ComboBox As New BindingSource(DSET1, "tbl_common") bs_축열탱크설치장소ComboBox.Filter = "gubun='1061'" bs_축열탱크설치장소ComboBox.Sort = "code" Me.cmb_축열탱크설치장소.DataSource = bs_축열탱크설치장소ComboBox cmb_축열탱크설치장소.DisplayMember = "name" cmb_축열탱크설치장소.ValueMember = "name" Me.cmb_축열탱크설치장소.DataBindings.Add("selectedvalue", Me.bs, "축열탱크설치장소") 'AddHandler 축열탱크설치장소ComboBox.KeyDown, AddressOf Cmb_DeleteVal Dim bs_태양광모듈기울기ComboBox As New BindingSource(DSET1, "tbl_common") bs_태양광모듈기울기ComboBox.Filter = "gubun='1062'" bs_태양광모듈기울기ComboBox.Sort = "code" Me.cmb_모듈기울기.DataSource = bs_태양광모듈기울기ComboBox cmb_모듈기울기.DisplayMember = "name" cmb_모듈기울기.ValueMember = "name" Me.cmb_모듈기울기.DataBindings.Add("selectedvalue", Me.bs, "태양광모듈기울기") 'AddHandler 태양광모듈기울기ComboBox.KeyDown, AddressOf Cmb_DeleteVal Dim bs_태양광모듈방위ComboBox As New BindingSource(DSET1, "tbl_common") bs_태양광모듈방위ComboBox.Filter = "gubun='1063'" bs_태양광모듈방위ComboBox.Sort = "code" Me.cmb_모듈방위.DataSource = bs_태양광모듈방위ComboBox cmb_모듈방위.DisplayMember = "name" cmb_모듈방위.ValueMember = "name" Me.cmb_모듈방위.DataBindings.Add("selectedvalue", Me.bs, "태양광모듈방위") 'AddHandler 태양광모듈방위ComboBox.KeyDown, AddressOf Cmb_DeleteVal Dim bs_태양광모듈종류ComboBox As New BindingSource(DSET1, "tbl_common") bs_태양광모듈종류ComboBox.Filter = "gubun='1064'" bs_태양광모듈종류ComboBox.Sort = "code" Me.cmb_모듈종류.DataSource = bs_태양광모듈종류ComboBox cmb_모듈종류.DisplayMember = "name" cmb_모듈종류.ValueMember = "name" Me.cmb_모듈종류.DataBindings.Add("selectedvalue", Me.bs, "태양광모듈종류") 'AddHandler 태양광모듈종류ComboBox.KeyDown, AddressOf Cmb_DeleteVal Dim bs_태양광모듈적용타입ComboBox As New BindingSource(DSET1, "tbl_common") bs_태양광모듈적용타입ComboBox.Filter = "gubun='1065'" bs_태양광모듈적용타입ComboBox.Sort = "code" Me.cmb_모듈적용타입.DataSource = bs_태양광모듈적용타입ComboBox cmb_모듈적용타입.DisplayMember = "name" cmb_모듈적용타입.ValueMember = "name" Me.cmb_모듈적용타입.DataBindings.Add("selectedvalue", Me.bs, "태양광모듈적용타입") 'AddHandler 태양광모듈적용타입ComboBox.KeyDown, AddressOf Cmb_DeleteVal Dim bs_열교환기설치여부ComboBox As New BindingSource(DSET1, "tbl_common") bs_열교환기설치여부ComboBox.Filter = "gubun='1054'" bs_열교환기설치여부ComboBox.Sort = "code" Me.cmb_열교환기설치여부.DataSource = bs_열교환기설치여부ComboBox cmb_열교환기설치여부.DisplayMember = "name" cmb_열교환기설치여부.ValueMember = "name" Me.cmb_열교환기설치여부.DataBindings.Add("selectedvalue", Me.bs, "열교환기설치여부") 'AddHandler 열교환기설치여부ComboBox.KeyDown, AddressOf Cmb_DeleteVal Dim bs_팽창탱크설치여부ComboBox As New BindingSource(DSET1, "tbl_common") bs_팽창탱크설치여부ComboBox.Filter = "gubun='1054'" bs_팽창탱크설치여부ComboBox.Sort = "code" Me.cmb_지열팽창설치여부.DataSource = bs_팽창탱크설치여부ComboBox cmb_지열팽창설치여부.DisplayMember = "name" cmb_지열팽창설치여부.ValueMember = "name" Me.cmb_지열팽창설치여부.DataBindings.Add("selectedvalue", Me.bs, "팽창탱크설치여부") 'AddHandler 팽창탱크설치여부ComboBox.KeyDown, AddressOf Cmb_DeleteVal 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 ShowHistory() End Select End Sub #Region "제어버튼" Private Sub ToolStripButton48_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_add.Click If Not EndEdit(Me.bs) Then Return Me.bs.AddNew() 'Dim DRv As DataRowView = bs.Current 'DRv("code") = Me.GetMaxCode(DSET1.tbl_new) INitRow(Me.Controls) MdiMain.RefreshMenuList(TreeTag) End Sub Private Sub ToolStripButton49_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_Del.Click Dbbase.DelCrow(Me.bs, True) MdiMain.RefreshMenuList(TreeTag) End Sub Private Sub ToolStripButton51_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_cancel.Click If Not EndEdit(Me.bs) Then Return Data_Cancel(DSET1.tbl_profile, Nothing) MdiMain.RefreshMenuList(TreeTag) End Sub #End Region Private Sub AddNewDataRow_new(ByVal sender As Object, ByVal e As System.Data.DataTableNewRowEventArgs) ' MsgBox("new") e.Row.Item("code") = GetMaxCode(DSET1.tbl_new) e.Row.Item("설명") = "신규데이터" End Sub #End Region Private Sub 태양열종류ComboBox_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles cmb_태양열시스템종류.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) <> 12 Then MsgBox("붙여넣기가 호환되는 데이터가 아닙니다.", MsgBoxStyle.Information, "확인") Return End If Dim Cnt As Short = 0 For i As Integer = 0 To CB.GetUpperBound(0) Select Case i Case 0 '//사용프로필 앞에 두개를 숫자4자로변환 'If CB(i).Trim = "" Then Me.태양열종류ComboBox.SelectedIndex = -1 If CB(i).Trim = "" Then Me.cmb_태양열시스템종류.SelectedIndex = 0 Else Me.cmb_태양열시스템종류.Text = CB(i).Trim End If ' Me.태양열종류ComboBox.Text = CStr(IIf(CB(i).Trim = "", "0", CB(i).Trim)) Case 1 '//공란 If CB(i).Trim = "" Then Me.cmb_집열기유형.SelectedIndex = 0 Else Me.cmb_집열기유형.Text = CB(i).Trim End If 'Me.집열기유형ComboBox.Text = CStr(IIf(CB(i).Trim = "", "0", CB(i).Trim)) Case 2 '//면적 Me.tb_집열판면적.Text = CB(i).Trim Case 3 If CB(i).Trim = "" Then Me.cmb_집열판방위.SelectedIndex = 0 Else Me.cmb_집열판방위.Text = CB(i).Trim End If 'Me.집열판방위ComboBox.Text = CStr(IIf(CB(i).Trim = "", "0", CB(i).Trim)) Case 4 Me.tB_솔라펌프출력.Text = CB(i).Trim Case 5 If CB(i).Trim = "" Then Me.cmb_태양열시스템의성능.SelectedIndex = 0 Else Me.cmb_태양열시스템의성능.Text = CB(i).Trim End If ' Me.태양열시스템의성능ComboBox.Text = CStr(IIf(CB(i).Trim = "", "0", CB(i).Trim)) Case 6 Me.tb_무손실효율계수.Text = CB(i).Trim Case 7 Me.tb_1차손실계수.Text = CB(i).Trim Case 8 Me.tb_2차손실계수.Text = CB(i).Trim Case 9 Case 10 Me.tb_축열탱크체적급.Text = CB(i).Trim Case 11 Me.tb_축열탱크체적난.Text = CB(i).Trim Case 12 If CB(i).Trim = "" Then Me.cmb_축열탱크설치장소.SelectedIndex = 0 Else Me.cmb_축열탱크설치장소.Text = CB(i).Trim End If 'Me.축열탱크설치장소ComboBox.Text = CStr(IIf(CB(i).Trim = "", "0", CB(i).Trim)) End Select Next Me.bs.EndEdit() End If End Sub Private Sub 태양광모듈면적NTb_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles tb_모듈면적.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) < 3 Then MsgBox("정상적인 데이터가 아닙니다") Return End If Dim Cnt As Short = 0 For i As Integer = 0 To CB.GetUpperBound(0) Select Case i Case 0 '//사용프로필 앞에 두개를 숫자4자로변환 Me.tb_모듈면적.Text = CB(i).Trim Case 1 '//공란 If CB(i).Trim = "" Then Me.cmb_모듈기울기.SelectedIndex = -1 Me.cmb_모듈기울기.Text = CB(i).Trim Case 2 '//면적 If CB(i).Trim = "" Then Me.cmb_모듈방위.SelectedIndex = -1 Me.cmb_모듈방위.Text = CB(i).Trim Case 3 If CB(i).Trim = "" Then Me.cmb_모듈종류.SelectedIndex = -1 Me.cmb_모듈종류.Text = CB(i).Trim Case 4 If CB(i).Trim = "" Then Me.cmb_모듈적용타입.SelectedIndex = -1 Me.cmb_모듈적용타입.Text = CB(i).Trim End Select Next Me.bs.EndEdit() End If End Sub Private Sub 지열가동연료ComboBox_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles cmb_가동연료.KeyDown, tb_지열펌프용량.KeyDown End Sub Private Sub bs_CurrentChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bs.CurrentChanged '//존이 옴겨질떄 해당 존의 사용량을 표시 If Not Init Then Return Try Dim Drv As DataRowView = CType(bs.Current, DataRowView) Me.tb_태양열_cnt1.Text = CStr(DSET1.tbl_nanbangkiki.Select("신재생연결여부='시스템연결' and 연결된시스템='" & Drv("Code").ToString & "'").GetUpperBound(0) + 1) Me.tb_태양열_cnt2.Text = CStr(DSET1.tbl_nangbangkiki.Select("신재생연결여부='시스템연결' and 연결된시스템='" & Drv("Code").ToString & "'").GetUpperBound(0) + 1) Catch ex As Exception Me.tb_태양열_cnt1.Text = ex.Message.ToString Me.tb_태양열_cnt2.Text = ex.Message.ToString End Try Dim drv2 As DataRowView = Me.bs.Current If drv2 Is Nothing Then Return Me.lb_code.Text = "[" + drv2("code").ToString + "]" Me.bs.EndEdit() End Sub Private Sub 기기종류ComboBox_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles 기기종류ComboBox.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) < 2 Then MsgBox("정상적인 데이터가 아닙니다") 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() '//한줄추가 Dim Cnt As Short = 0 For i As Integer = 0 To CB.GetUpperBound(0) Select Case i Case 0 CType(bs.Current, DataRowView)("설명") = CB(i).Split(CChar(vbTab))(ii).Trim Case 5 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.기기종류ComboBox.SelectedIndex = 0 Else Me.기기종류ComboBox.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If Case 6 ' If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.열교가산치ComboBox.SelectedIndex = -1 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_가동연료.SelectedIndex = 0 Else Me.cmb_가동연료.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If 'Me.열교가산치ComboBox.Text = CStr(IIf( CB(i).Split(CChar(vbTab))(ii).Trim = "", "0", CB(i).Split(CChar(vbTab))(ii).Trim)) Case 9 'If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_냉난방방식.SelectedIndex = -1 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_태양열시스템종류.SelectedIndex = 0 Else Me.cmb_태양열시스템종류.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If 'Me.cmb_냉난방방식.Text = CStr(IIf( CB(i).Split(CChar(vbTab))(ii).Trim = "", "0", CB(i).Split(CChar(vbTab))(ii).Trim)) Case 10 'If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.냉난방공조ComboBox.SelectedIndex = -1 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_집열기유형.SelectedIndex = 0 Else Me.cmb_집열기유형.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If Case 11 '//열생산지정 ' Me.TabControl10.SelectedIndex = 1 Me.tb_집열판면적.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 12 'If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.냉난방공조ComboBox.SelectedIndex = -1 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_집열판방위.SelectedIndex = 0 Else Me.cmb_집열판방위.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If Case 13 '//열생산지정 ' Me.TabControl10.SelectedIndex = 1 Me.tB_솔라펌프출력.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 14 'If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.냉난방공조ComboBox.SelectedIndex = -1 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_태양열시스템의성능.SelectedIndex = 0 Else Me.cmb_태양열시스템의성능.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If Case 15 '//열생산지정 ' Me.TabControl10.SelectedIndex = 1 Me.tb_무손실효율계수.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 16 '//열생산지정 Me.tb_1차손실계수.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 17 '//열생산지정 Me.tb_2차손실계수.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 19 '//열생산지정 Me.tb_축열탱크체적급.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 20 '//열생산지정 Me.tb_축열탱크체적난.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 21 'If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.냉난방공조ComboBox.SelectedIndex = -1 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_축열탱크설치장소.SelectedIndex = 0 Else Me.cmb_축열탱크설치장소.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If Case 24 '//열생산지정 Me.tb_모듈면적.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 25 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_모듈기울기.SelectedIndex = 0 Else Me.cmb_모듈기울기.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If Case 26 '//열생산지정 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_모듈방위.SelectedIndex = 0 Else Me.cmb_모듈방위.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If Case 27 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_모듈종류.SelectedIndex = 0 Else Me.cmb_모듈종류.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If Case 28 '//열생산지정 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_모듈적용타입.SelectedIndex = 0 Else Me.cmb_모듈적용타입.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If ' Me.cmb_모듈적용타입.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 31 '//열생산지정 Me.tb_지열펌프용량.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 32 '//열생산지정 Me.tb_열성능비.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 33 '//열생산지정 Me.tb_열성능비2.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 34 '//열생산지정 Me.tb_1차펌프용량.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 35 '//열생산지정 Me.tb_2차펌프용량.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 36 'If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.냉난방공조ComboBox.SelectedIndex = -1 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_열교환기설치여부.SelectedIndex = 0 Else Me.cmb_열교환기설치여부.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If Case 37 'If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.냉난방공조ComboBox.SelectedIndex = -1 If CB(i).Split(CChar(vbTab))(ii).Trim = "" Then Me.cmb_지열팽창설치여부.SelectedIndex = 0 Else Me.cmb_지열팽창설치여부.Text = CB(i).Split(CChar(vbTab))(ii).Trim End If Case 38 '//열생산지정 Me.tb_지열팽창탱크체적.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 41 '//열생산지정 Me.tb_열생산능력.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 42 '//열생산지정 Me.tb_열생산효율.Text = CB(i).Split(CChar(vbTab))(ii).Trim Case 43 '//열생산지정 Me.tb_발전효율.Text = CB(i).Split(CChar(vbTab))(ii).Trim End Select Next Next Me.bs.EndEdit() End If End Sub Private Sub 기기종류ComboBox_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 기기종류ComboBox.SelectedIndexChanged Validate_Control() End Sub Private Sub Validate_Control() If Not Init Then Return Try Select Case Me.기기종류ComboBox.Text Case "태양열", "태양광" Me.cmb_가동연료.SelectedIndex = 0 Me.cmb_가동연료.Enabled = False Case Else Me.cmb_가동연료.Enabled = True End Select Catch ex As Exception End Try Try Select Case Me.cmb_태양열시스템의성능.Text Case "성능치" Me.tb_무손실효율계수.Enabled = True Me.tb_1차손실계수.Enabled = True Me.tb_2차손실계수.Enabled = True Case Else Me.tb_무손실효율계수.Enabled = False Me.tb_1차손실계수.Enabled = False Me.tb_2차손실계수.Enabled = False End Select Catch ex As Exception End Try Try If 기기종류ComboBox.Text = "태양열" Then 태양열Panel.Enabled = True 축열탱크Panel.Enabled = True 열병합Panel.Enabled = False 태양광Panel.Enabled = False 지열Panel.Enabled = False ElseIf 기기종류ComboBox.Text = "열병합" Then 태양열Panel.Enabled = False 축열탱크Panel.Enabled = False 열병합Panel.Enabled = True 태양광Panel.Enabled = False 지열Panel.Enabled = False ElseIf 기기종류ComboBox.Text = "태양광" Then 태양열Panel.Enabled = False 축열탱크Panel.Enabled = False 열병합Panel.Enabled = False 태양광Panel.Enabled = True 지열Panel.Enabled = False ElseIf 기기종류ComboBox.Text = "지열" Then 태양열Panel.Enabled = False 축열탱크Panel.Enabled = False 열병합Panel.Enabled = False 태양광Panel.Enabled = False 지열Panel.Enabled = True Else 태양열Panel.Enabled = False 축열탱크Panel.Enabled = False 열병합Panel.Enabled = False 태양광Panel.Enabled = False 지열Panel.Enabled = False End If Catch ex As Exception End Try '//건기연 추가 (2010.04.07) 'MsgBox(Me.cmb_가동연료.Text) Try Select Case Me.cmb_가동연료.Text Case "전기" Me.cmb_열교환기설치여부.Enabled = False Case Else Me.cmb_열교환기설치여부.Enabled = True End Select Catch ex As Exception End Try Try Select Case Me.cmb_모듈기울기.Text Case "수평", "(없음)" Me.cmb_모듈방위.Enabled = False Case Else Me.cmb_모듈방위.Enabled = True End Select Catch ex As Exception End Try Try Select Case Me.cmb_모듈종류.Text Case "성능치 입력" Me.tb_모듈효율.Enabled = True Case Else Me.tb_모듈효율.Enabled = False End Select Catch ex As Exception End Try End Sub Private Sub ToolStripButton49_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) If e.Button = Windows.Forms.MouseButtons.Right Then If MsgBox("전체삭제를 하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then Dim dR() As DataRow = DSET1.tbl_new.Select(Me.bs.Filter, "") For i As Integer = dR.GetUpperBound(0) To 0 Step -1 dR(i).Delete() Next DSET1.tbl_new.AcceptChanges() End If End If End Sub Private Sub bt_Del_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles bt_Del.MouseDown If e.Button = Windows.Forms.MouseButtons.Right Then If MsgBox("전체삭제를 하시겠습니까?", MsgBoxStyle.Information Or MsgBoxStyle.OkCancel, "확인") = MsgBoxResult.Ok Then Dim dR() As DataRow = DSET1.tbl_new.Select(Me.bs.Filter, "") For i As Integer = dR.GetUpperBound(0) To 0 Step -1 dR(i).Delete() Next DSET1.tbl_new.AcceptChanges() End If End If End Sub Private Sub cmb_가동연료_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_가동연료.SelectedIndexChanged If Me.cmb_가동연료.SelectedIndex <> -1 Then Me.Validate_Control() End Sub Private Sub dv_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dv.MouseUp If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.08 추가 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 = "" '//getfiled 며령으로 모든 필드명을 찾아서 '//그것을 그 화면으로 보내는거에요 '//그런데 여기서 어떤필드는 색을 달리하겟다라고할려면 해당 :::: 정보도 같이 넘겨줘야해요 '//그부분 구현이 좀 매끄럽게 생각정리가안되네요 Frm_FilterA.Numfield = "" '//20100618 Color 리스트처럼 , 구분해서 필드들을 모두 넣으세요.(=, >= 등을 사용하기 위해서는 해당 항목을 추가 요망) Frm_FilterA.Default_Filter = "code <> '0'" If Frm_FilterA.ShowDialog <> Windows.Forms.DialogResult.OK Then Return '//창떳을떄 확인아ㅣ고 취소눌르면 다음을 수행하지않는다는거에요. Dim Filter As String = Frm_FilterA.tb_filter.Text '//값은 아까 그 텍박에 잇구요. Try Me.bs.Filter = Filter '//바꾸기값이 있으면 변경 20100618 If Frm_FilterA.cmb_fieldc.SelectedIndex >= 0 AndAlso Frm_FilterA.cmb_fieldc.Text.ToLower <> "code" AndAlso _ Frm_FilterA.tb_valuec.Text <> "" Then Dim Drow() As DataRow = Me.Dt.Select(Filter) For Each Dr As DataRow In Drow Dr(Frm_FilterA.cmb_fieldc.Text) = Frm_FilterA.tb_valuec.Text Next MsgBox("바꾸기 완료", MsgBoxStyle.Information, "확인") End If Catch ex As Exception Me.bs.Filter = "" End Try End If End If End Sub Private Sub dv_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles dv.KeyDown '//여기보시면 alt+d 누르면 한줄을 경고없이(falsE)삭제하도록 햇어요.. 사실원래 밋alt +d 인데.. ㅎㅎ 잘못해서 ctrl 됫다는 If Prj.UserAuthType = "ADMIN" OrElse Prj.UserAuthType = "BOTH" OrElse Prj.UserAuthType = "BOTH2" OrElse Prj.UserAuthType = "BOTH1" Then '//2011.03.08 추가 Select Case e.KeyCode Case Keys.D If e.Alt Then Dbbase.DelCrow(Me.bs, False) End If Case Keys.C If e.Control Then Me.SrcDrv = Me.bs.Current If Me.SrcDrv Is Nothing Then MsgBox("저장할 ROW가 없습니다", MsgBoxStyle.Information, "확인") Return End If ' My.Computer.Clipboard.SetData("ZDATA", Drv) End If Case Keys.V If e.Control Then If SrcDrv Is Nothing Then Return Me.bt_add.PerformClick() '//신규추가 Dim NewDrv As DataRowView = Me.bs.Current For Each C As DataColumn In Me.Dt.Columns If C.ColumnName.ToUpper = "CODE" Then ElseIf C.ColumnName.ToUpper = "설명" Then NewDrv(C.ColumnName) = SrcDrv(C.ColumnName) & "#1" Else NewDrv(C.ColumnName) = SrcDrv(C.ColumnName) End If Next Me.bs.EndEdit() bs.MoveLast() End If End Select End If End Sub Private Sub cmb_지열팽창설치여부_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmb_지열팽창설치여부.SelectedValueChanged Try Select Case Me.cmb_지열팽창설치여부.Text Case "예" Me.tb_지열팽창탱크체적.Enabled = True Case Else Me.tb_지열팽창탱크체적.Enabled = False End Select Catch ex As Exception End Try End Sub Private Sub cmb_모듈기울기_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmb_모듈기울기.SelectedValueChanged Validate_Control() End Sub Private Sub dv_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles dv.CellContentClick End Sub Private Sub cmb_태양열시스템의성능_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_태양열시스템의성능.SelectedIndexChanged Validate_Control() End Sub Private Sub cmb_모듈종류_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmb_모듈종류.SelectedIndexChanged Validate_Control() End Sub End Class