2010. 6. 26. 06:28

보호되어 있는 글입니다.
내용을 보시려면 비밀번호를 입력하세요.

Powerbuilder2010. 6. 20. 23:59








배열변수를 사용하면 좋습니다.
<script>
String ls_str[]
ls_str[1] = 'apple'
ls_str[2] = 'banana'
...
dw_1.Retrieve(ls_str)

<dw>
dw의 매개변수로 Name: as_str Type: String array
select ...
from table1 t
where t.col1 in (:as_str)
Posted by Julyus
Powerbuilder2010. 6. 20. 23:29
ls_dw_nm = adw_target.DataObject
Posted by Julyus
Powerbuilder2010. 6. 17. 09:17
// DataWindow가 Focus를 받으면 첫번째 Item의 Text를 반전시킨다

If This.RowCount() = 0 Then RETURN

This.SelectText(1,Len(This.GetText()) + 100)

Posted by Julyus
Powerbuilder/DataWindow2010. 6. 9. 22:34
This statement sets the status of row 5 in the Salary column of the primary buffer of dw_history to NotModified!:

dw_history.SetItemStatus(5, "Salary", &

        Primary!, NotModified!)

This statement sets the status of row 5 in the emp_status column of the primary buffer of dw_new_hire to DataModified!:

dw_new_hire.SetItemStatus(5, "emp_status", &

        Primary!, DataModified!)

This code sets the status of row 5 in the primary buffer of dw_rpt to DataModified! if its status is currently NewModified!:

dwItemStatus l_status

l_status = dw_rpt.GetItemStatus(5, 0, Primary!)

IF l_status = NewModified! THEN

        dw_rpt.SetItemStatus(5, 0, 

            Primary!, DataModified!)

END IF

/* Modified ! */




dw_main.GetNextModified(0, Primary!)
Posted by Julyus
Powerbuilder2010. 5. 19. 11:16



IF( prd[-1] = prd, IF( long( Describe( 'Datawindow.FirstRowOnPage' ) ) = Getrow(), 1, 0 ), 1 )
DW 컬럼에 Visible에 넣어 주면 된다.

IF( prd[-1] = prd, IF( long( Describe( 'Datawindow.FirstRowOnPage' ) ) = Getrow() or dcd[-1] <> dcd, 1, 0 ), 1 )
추가적으로 내용을 넣고 싶으면 or로 묶으면 된다.
Posted by Julyus
Powerbuilder2010. 5. 19. 11:15




dw_main.SetSort("dcd asc, leac asc, dta asc") dw_main.Sort()
Posted by Julyus
Powerbuilder2009. 4. 29. 18:55
아래와 같은 프린트물이 있습니다.
배송지 주소가 같을 경우 제일 처음 한개만 보여 주려고 합니다.


쿼리는 아래와 같이 했습니다.
   SELECT REQDT,
         CUSTOMERNM,
         MOBILE,
         VALIDKEY,
         ADDRESS,
         ITEMNM,
         SERNO
    FROM VW_ORDER  
ORDER BY ADDRESS ASC   


Suppress Repeating Values...에 Address를 추가 시켰음에도 불구하고,
중복데이타가 다 보이고 있습니다. 
제가 아는 Sort랑 다른 건가요?

답변1:
배송지 주소가 4번때에 있군요..
Suppress Repeating을 할려면 맨처음 있는것부터 해야 하는데요.
개통, 고객, 이동, 주소 이렇게 Suppress Repeating 정해줘야 합니다.
헌데 앞의 3개가 다르고 주소만 같다면 Suppress Repeating 해도 안됩니다.
앞의 3개가 다른 내용이면 중복 삭제는 Loop돌면서 날코딩 해야 합니다.
그리고 참고로
Suppress Repeating Values...를 사용하려면 SQL 의 order by를 빼시고 DW의 Sort를 사용하세요.
정렬이 양쪽에 있으면 가끔 이상한 작동을 합니다.
파빌에서 가끔 발견되는 에러인데 아직 원인을 모르겠습니다.

답변2:
다음 방법도 한번 사용해보세요...단순히 address하나만 가지고 suppress하고 싶을 경우...
IF( address[-1] = address, IF( long( Describe( 'Datawindow.FirstRowOnPage' ) ) = Getrow(), 1, 0 ), 1 )
*현재 칼럼과 이전 칼럼의 값이 동일한지 비교
1. 동일하면 현재의 행이 페이지의 처음행이면 보이기
2. 동일하면서 처음행이 아니면 보이지 않기
3. 동일하지 않으면 보이지 않기

노파심에... address 칼럼의 visible 속성 익스프레션에 써주시면 됩니다...


Posted by Julyus