[ 파워빌더.공통함수 - enter To Tap 변경 ]

 

☞   

 
엔터키를 Tab키로 변경하는 이벤트입니다.
설정 변수 Boolean ib_enter_newrow  //엔터키가 마지막 Row로 왔을때 줄 추가 할지 여부
              String     is_last_col          // 마지막 컬럼명
              Boolean ib_enter_to_tab    // 엔터키를 Tab으로 쓸지 여부

Event ID : pbm_dwnprocessenter

String  ls_colunm
ls_colunm = GetColumnName()

If ib_enter_newrow AND &
   (RowCount() = GetRow() AND ls_colunm = is_last_col) Then
This.TriggerEvent("ue_add")
Return 1
End IF

/** Enter Key를 Tab Key 인식하게 한다. */
If ib_enter_to_tab Then
   send( handle(this), 256, 9 , 0 )
   return 1
End If




///// 마지막 컬럼 찾는 방법 (펑션으로 만들어서 DataWindow 생성 후에 호출하시면 될듯 하네요)
Integer li_colcount, li_tab_seq, li_loop, li_Cnt
String ls_Column
Integer li_max = 0, li_min = 32767

If This.DataObject = '' or IsNull(This.DataObject) Then Return

For li_loop = 1 To li_colcount
ls_Column = This.Describe("#" + String(li_loop) + ".Name") // 칼럼명
li_tab_seq = Integer(This.Describe(ls_Column + ".TabSequence")) // 칼럼 Tab Order
If li_tab_seq > 0 Then
If li_tab_seq < li_min Then // 최소값 
li_min = li_tab_seq
시작컬럼 = ls_Column
End If
If li_tab_seq > li_max Then // 최대값 
li_max = li_tab_seq
마지막컬럼 = ls_Column
End If
End If
Next

컬럼은 실제 입력 컬럼을(Tab Order가 존재하는) 찾아서 처리하기 때문에 Count의 맥스 컬럼이 아닌 Tab Order가 있는 마지막 컬럼을 찾습니다.

Posted by 농부지기
,