2017-01-28 7 views
-1

크리스탈 보고서 뷰어 컨트롤 대신 ConnectToNewObject 메서드를 사용하고 있는데 총 페이지 수를 얻지 못했습니다? 비 시각적 크리스탈 리포트 객체의 총 페이지 수를 찾는 방법은 무엇입니까?PowerBuilder에서 비 시각적 크리스탈 보고서 개체의 페이지 수를 얻는 방법

보고서를 가져 와서 프린터로 보낼 수는 있지만 보고서에 페이지가 몇 개인 지 알 수 없기 때문에 전체 페이지 수를 알아야 모든 페이지를 보낼 수 있습니다. 페이지를 프린터로 보냅니다. 어떻게 할 지 말해줘?

답변

0

페이지 수에 대한 직접적인 속성이 없기 때문에 매우 간단하지만 무서웠습니다. 먼저 인스턴스 또는 전역 변수를 선언

당신은

OLEObject g_ole_crx_report_PageGenerator 
OLEObject g_ole_crx_report_Pages 
OLEObject g_ole_crx_report 
Integer PageGenerator[], PageCount 

보고서가 연결되어 있고 (g_ole_crx_report)

TRY 
    g_ole_crx_report_PageGenerator = g_ole_crx_report.PageEngine.CreatePageGenerator (PageGenerator[]) 
    g_ole_crx_report_Pages = g_ole_crx_report_PageGenerator.Pages 
    PageCount = g_ole_crx_report_Pages.Count 
CATCH (RuntimeError exRuntime) 
END TRY 
이미 검색되었습니다 짝수/기능에 다음 코드를 넣어 스크립트에 필요한

필요한 경우 적절한 오류 메시지를 추가하십시오. 나는 많은 오류 메시지가 정말 좋아하지 않는다. 오류 메시지가 오류 자체보다 더 성가신 모바일 앱에 가깝습니다. 예를 들어 사용자가 보고서를 검색하지 않고 총 페이지 수를 얻으려고하면 오류/정보 메시지 표시가 의미가 없습니다. 어쨌든, 위의 코드는 위의 코드와 함께 작동합니다.

+0

빈'catch '를 사용하지 마십시오 : 적어도 뭔가 잘못되었다는 것을 기록하십시오. – Seki

+0

네, 맞습니다. 로그를 생성하는 것이 좋습니다. 감사합니다 세키 – Berka