I made a print preview program, and everything under Windows2000 is running normally, but on Windows XP, the following problems appear:
1: When the cross-report prints preview, the intermediate data column part is displayed as 0; 2: Two main savings sub-data window nested print previews, the amount is displayed as 0.
I ask you a lot of experts to advise, thank you!
The specific print preview program code is as follows, please also give me a lot of advice:
Calling method: openwithparm (w_dw_print_preview, dw_print)
W_DW_PRINT_PREVIEW OPEN Event:
Blob LBLB_DATA
IDW_DATA = Message.PowerObjectParm
DW_PRINT.CREATE (IDW_DATA.DESCRIBE ("DataWindow.Syntax)))
IDW_DATA.GETFULLSTATE (LBLB_DATA)
DW_PRINT.SETFULLSTATE (LBLB_DATA)
DW_PRINT.SORT () dw_print.groupcalc ()
DW_PRINT.EVENT UE_SHARECHILD () DW_PRINT.MODIFY ("DataWindow.Print.Preview = YES DataWindow.Print.preview.rulers = YES")
Post Event UE_SET_PAGE ()
this.title = dw_print.describe ('DataWindow.print.DocumentName') 'Preview'
DDLB_PRE.TEXT = '100% EM_1.TEXT =' 100 '
If dw_print.RowCount () = 0 Then // unprintable pb_printer.Enabled = False cb_first.Enabled = False cb_last.Enabled = False cb_prior.Enabled = False cb_next.Enabled = FalseElse // print pb_printer.Enabled = True cb_first.Enabled = True cb_last.enabled = true cb_prior.enabled = true cb_next.enabled = truendiff
INV_RESIZE = CREATE PFC_N_CST_RESIZEINV_RESIZE.OF_SETORIGSIZE (this.WorkspaceWidth (), this.WorkspaceHeight () This.inv_resize.of_register (dw_print, 0, 0, 100, 100)
DW_PRINT's UE_SHARECHILD event:
Long ll_col, ll_colcountstring ls_colname, ls_dddwname
DataWindowChild LDW_ChildDataStore LDS_DATA
LL_COLCOUNT = long (this.describe ("DataWindow.column.count")))
IF ll_colcount> 0 THEN for LL_COL = 1 to ll_colcount if this.describe ("#" string (ll_col) ".edit.style") = 'DDDW' THEN LS_COLNAME = this.describe ("#" string (ll_col ) ".name") ls_dddwname = this.describe ("#" string (ll_col) ".dddw.name") this.getchild (ls_colname, ldw_child) End if next The UE_SET_PAGE event in End_pReview:
Integer Li_Current_pageString Ls_Row
Ls_row = string (dw_print.Object.dataWindow.FirstRowonPage)
II_PAGECount = Integer (DW_Print.describe ("Evaluate ('PageCount ()") ") LI_CURRENT_PAGE = INTEGER (DW_PRINT.DESCRIBE (" Evaluate (' Page () ', " LS_ROW ") ")")
EM_PAGE.TEXT = String (li_current_page) "/" string (II_PAGECOUNT)