170717_220 버젼
This commit is contained in:
193
Cls_Jdung/PrintForm.vb
Normal file
193
Cls_Jdung/PrintForm.vb
Normal file
@@ -0,0 +1,193 @@
|
||||
Imports System.Drawing
|
||||
Imports System.Drawing.Printing
|
||||
Imports System.Math
|
||||
Imports acc.ARINCLASS
|
||||
Imports System.IO
|
||||
Imports CEpole.C_Epole
|
||||
|
||||
Public Class PrintForm
|
||||
'//기본 Datatable 인데 사용하기 편하게 Shadow 한다.
|
||||
'Public Shadows srctable As ireaDataSet.Detail_tongsinDataTable
|
||||
|
||||
'//Loadstyle 후에 일련번호를 부여한다. (SetControlIndex)
|
||||
Dim IDX_일련번호 As Short
|
||||
Dim IDX_고객번호1 As Short
|
||||
Dim IDX_고객번호2 As Short
|
||||
Dim IDX_고객번호3 As Short
|
||||
Dim IDX_관리번호1 As Short
|
||||
Dim IDX_관리번호2 As Short
|
||||
Dim IDX_관리번호3 As Short
|
||||
Dim IDX_지점명 As Short '2008/07/10
|
||||
Dim IDX_고정문자1 As Short
|
||||
Dim IDX_고정문자2 As Short
|
||||
|
||||
|
||||
#Region "New Function"
|
||||
Public Sub New()
|
||||
InitializeComponent()
|
||||
End Sub
|
||||
Public Sub New(ByRef Src As DataTable, ByVal vAdmin As Boolean, ByVal vDefStyleIndex As Short, Optional ByVal IRow As DataRowView = Nothing)
|
||||
InitializeComponent()
|
||||
SrcTable = Src '//가져온 테이블을 임시테이블에 저장을 해두고 사용한다.
|
||||
Srcrow = IRow '//이것은 클릭된 행의 데이터이다.
|
||||
Me.Admin = vAdmin
|
||||
Me.DefStyleIndex = vDefStyleIndex
|
||||
End Sub
|
||||
#End Region
|
||||
|
||||
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
|
||||
Me.Left = 100
|
||||
Me.Initialize(Me.SrcTable, "StyleJD", My.Application.Info.DirectoryPath & "\epole.ini", DefStyleIndex)
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub SetControls() '//오버라이드됫으며 라벨들을 생성초기화한다.
|
||||
|
||||
AddLog("-> SetControls")
|
||||
Dim CtlCnt As Short = 0
|
||||
|
||||
If Me.AllLabels Is Nothing Then ReDim Me.AllLabels(0) '//이건라벨들의 배열이며
|
||||
If Me.AllFullLabels Is Nothing Then ReDim Me.AllFullLabels(0) '//이건라벨들의 그룹배열이다. (쪼개지지않은 1개의 아이템을 가지고있다.)
|
||||
|
||||
'//initial...
|
||||
Dim FirstIndex As Short = 0
|
||||
Dim A_Firstindex As Short = 0
|
||||
|
||||
InitControl(IDX_일련번호, A_Firstindex, FirstIndex, 1, 20, Me.cb_seq, "일련번호", "U", "SEQPATTERN", )
|
||||
InitControl(IDX_고객번호1, A_Firstindex, FirstIndex, 1, 10, Me.chk1, "고객번호1", "A", "C1PATTERN")
|
||||
InitControl(IDX_고객번호2, A_Firstindex, FirstIndex, 1, 10, Me.chk2, "고객번호2", "B", "C2PATTERN")
|
||||
InitControl(IDX_고객번호3, A_Firstindex, FirstIndex, 1, 20, Me.chk3, "고객번호3", "C", "C3PATTERN")
|
||||
InitControl(IDX_관리번호1, A_Firstindex, FirstIndex, 1, 20, Me.chk4, "관리번호1", "D", "M1PATTERN")
|
||||
InitControl(IDX_관리번호2, A_Firstindex, FirstIndex, 1, 20, Me.chk5, "관리번호2", "E", "M2PATTERN")
|
||||
InitControl(IDX_관리번호3, A_Firstindex, FirstIndex, 1, 20, Me.chk6, "관리번호3", "F", "M3PATTERN")
|
||||
InitControl(IDX_지점명, A_Firstindex, FirstIndex, 1, 20, Me.chk7, "지점명", "G", "APATTERN")
|
||||
|
||||
InitControl(IDX_고정문자1, A_Firstindex, FirstIndex, 1, 10, Me.chk20, "고정문자1", "V", "STATIC1PATTERN", True)
|
||||
InitControl(IDX_고정문자2, A_Firstindex, FirstIndex, 1, 10, Me.chk21, "고정문자2", "W", "STATIC2PATTERN", True)
|
||||
|
||||
End Sub
|
||||
|
||||
Public Overrides Sub SetControlIndex() '//그룹의 인덱스를 가지고있는 // 나중에 편하게 사용하려고
|
||||
AddLog("-> SetControlIndex")
|
||||
Me.IDX_일련번호 = lbl("일련번호")
|
||||
Me.IDX_고객번호1 = lbl("고객번호1")
|
||||
Me.IDX_고객번호2 = lbl("고객번호2")
|
||||
Me.IDX_고객번호3 = lbl("고객번호3")
|
||||
Me.IDX_관리번호1 = lbl("관리번호1")
|
||||
Me.IDX_관리번호2 = lbl("관리번호2")
|
||||
Me.IDX_관리번호3 = lbl("관리번호3")
|
||||
Me.IDX_지점명 = lbl("지점명")
|
||||
|
||||
Me.IDX_고정문자1 = lbl("고정문자1")
|
||||
Me.IDX_고정문자2 = lbl("고정문자2")
|
||||
|
||||
End Sub
|
||||
|
||||
'//메인함수다(오버라이드) 값을 분석하고 표시하는 총괄을 담당한다.
|
||||
Public Overrides Sub GeTviewData(ByVal index As Integer, ByVal previewWindow As Boolean, Optional ByRef 번호패턴검사 As Integer = -1)
|
||||
Dim 관리번호, 일련번호, 고객번호 As String
|
||||
|
||||
AddLog(">> 오버라이드된 함수 GetTviewData 진입")
|
||||
|
||||
If Dv.Count <= 0 OrElse index < 0 OrElse index > Dv.Count Then
|
||||
AddLog(">> 데이터인덱스가 없거나 문제가 있어서 GettviewData를 리턴합니다")
|
||||
Return '//잘못된 인덱스는 리턴
|
||||
End If
|
||||
|
||||
'//DataRow_Value -> Group Label
|
||||
관리번호 = GetSpread(index, "관리번호1") & GetSpread(index, "관리번호2") & GetSpread(index, "관리번호3")
|
||||
고객번호 = GetSpread(index, "고객번호1") & GetSpread(index, "고객번호2") & GetSpread(index, "고객번호3")
|
||||
일련번호 = GetSpread(index, "번호")
|
||||
Me.AllFullLabels(Me.IDX_일련번호).text = 일련번호
|
||||
Me.AllFullLabels(Me.IDX_고객번호1).text = GetSpread(index, "고객번호1")
|
||||
Me.AllFullLabels(Me.IDX_고객번호2).text = GetSpread(index, "고객번호2")
|
||||
Me.AllFullLabels(Me.IDX_고객번호3).text = GetSpread(index, "고객번호3")
|
||||
Me.AllFullLabels(Me.IDX_관리번호1).text = GetSpread(index, "관리번호1")
|
||||
Me.AllFullLabels(Me.IDX_관리번호2).text = GetSpread(index, "관리번호2")
|
||||
Me.AllFullLabels(Me.IDX_관리번호3).text = GetSpread(index, "관리번호3")
|
||||
Me.AllFullLabels(Me.IDX_지점명).text = GetSpread(index, "지점명")
|
||||
|
||||
Me.AllFullLabels(Me.IDX_고정문자1).text = Me.AllLabels(Me.AllFullLabels(Me.IDX_고정문자1).Si).Text
|
||||
Me.AllFullLabels(Me.IDX_고정문자2).text = Me.AllLabels(Me.AllFullLabels(Me.IDX_고정문자2).Si).Text
|
||||
|
||||
AddLog(">> DataRow_Value -> Group Label_text")
|
||||
|
||||
'//Show WindowTitle
|
||||
Me.Text = "출력작업(" & 관리번호 & ")"
|
||||
|
||||
'=====================================================================
|
||||
Me.Parse_LineBatch(New Short() { _
|
||||
Me.IDX_일련번호, _
|
||||
Me.IDX_고객번호1, _
|
||||
Me.IDX_고객번호2, _
|
||||
Me.IDX_고객번호3, _
|
||||
Me.IDX_관리번호1, _
|
||||
Me.IDX_관리번호2, _
|
||||
Me.IDX_관리번호3, _
|
||||
Me.IDX_지점명, _
|
||||
Me.IDX_고정문자1, _
|
||||
Me.IDX_고정문자2})
|
||||
'======================== 기타 =================================================
|
||||
If previewWindow Then Me.preview_window() '//이건 기본폼에 정의되어있다.
|
||||
'휴 끝났다.......................................................
|
||||
End Sub
|
||||
|
||||
#Region "자주 바꿀일없는 부분"
|
||||
|
||||
Private Sub BindingNavigatorPositionItem_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles BindingNavigatorPositionItem.KeyUp
|
||||
'//현재위치에서 엔터켯을경우 데이터베이스 위치값을 변경한다.(position)
|
||||
If e.KeyCode = Keys.Enter Then
|
||||
If IsNumeric(Me.BindingNavigatorPositionItem.Text) Then Me.GeTviewData(Me.BindingNavigatorPositionItem.Text - 1, True)
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub BindingNavigatorPositionItem_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) Handles BindingNavigatorPositionItem.MouseEnter
|
||||
Me.BindingNavigatorPositionItem.Focus()
|
||||
Me.BindingNavigatorPositionItem.SelectAll()
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
#Region "자주안고치는것"
|
||||
|
||||
''' <summary>
|
||||
''' 데이터표시항목아래의 모든 아이템의 클릭이벤트에 지정된 프로시져를 할당한다.
|
||||
''' </summary>
|
||||
''' <remarks></remarks>
|
||||
Public Overrides Sub SetEventHandler()
|
||||
For Each MI As ToolStripMenuItem In Me.m_viewdata.DropDownItems
|
||||
AddHandler MI.Click, AddressOf ViewCheck_Click
|
||||
Next
|
||||
End Sub
|
||||
|
||||
''' <summary>
|
||||
''' 개체가 선택되었을때 의 이벤트
|
||||
''' </summary>
|
||||
''' <param name="obj"></param>
|
||||
''' <remarks></remarks>
|
||||
Private Sub PrintForm_tongsin_SelectedControl(ByVal obj As CEpole.C_label) Handles Me.SelectedControl
|
||||
'//특정개체가 선택되었을때 (부모그룹에서 패턴적용여부를 찾아표시한다.)
|
||||
AddLog("##다음개체가 선택되었습니다(" & obj.Desc & " 태그=" & obj.Tag & ")")
|
||||
Me.lb_selcon.Text = "[" & obj.Desc & "]"
|
||||
End Sub
|
||||
|
||||
Private Sub ToolStripButton1_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles bt_close.Click
|
||||
Me.Close()
|
||||
End Sub
|
||||
Private Sub m_shortkey_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles m_shortkey.Click
|
||||
Me.Show_ShortKey()
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
Private Sub ToolStripButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs)
|
||||
Dim MinLeft As Short = 999
|
||||
For Each A As CEpole.C_label In Me.SelCon
|
||||
If A.Left < MinLeft Then MinLeft = A.Left '//가장작으 Left값 추적
|
||||
Next
|
||||
For Each a As CEpole.C_label In Me.SelCon
|
||||
a.Left = MinLeft
|
||||
Next
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
Reference in New Issue
Block a user