public MyReportWizard extends ReportWizard { ... protected void doFinish() { int REPORT_HEADER = 0; int PAGE_HEADER = 1; int PAGE_FOOTER = 4; try { IArea area = null; ReportDefController defCon = getReport().getReportDefController(); IArea reportHeader = defCon.getReportDefinition().getAreas().getArea(REPORT_HEADER); ISection rhSection = reportHeader.getSections().getSection(0); TextObject textObj = new TextObject("My Report"); textObj.setHeight(360); textObj.setWidth(1440); textObj.setTop (rhSection.getHeight() - textObj.getHeight()); defCon.getReportObjectController().add(textObj, rhSection, -1); if (dateInPageHeader) { area = defCon.getReportDefinition().getAreas().getArea(PAGE_HEADER); } else { area = defCon.getReportDefinition().getAreas().getArea(PAGE_FOOTER); } ISection sec = area.getSections().getSection(0); SpecialField dateField = new SpecialField(SpecialFieldType.printDate); FieldObject dateObj = new FieldObject(); dateObj.setFieldValueType(dateField.getType()); dateObj.setDataSource(dateField.getFormulaForm()); dateObj.setHeight(360); dateObj.setWidth(1440); dateObj.setTop (sec.getHeight() - dateObj.getHeight()); defCon.getReportObjectController().add(dateObj, sec, -1); } catch (Exception e) { e.printStackTrace(); } } ... }
import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; public class MyWizardPage extends WizardPage { ... private final SelectionListener headerBtnListener = new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { ((MyReportWizard)getWizard()).dateInPageHeader = true; } }; private final SelectionListener footerBtnListener = new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { ((MyReportWizard)getWizard()).dateInPageHeader = false; } }; }
import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.SWT; public class MyWizardPage extends WizardPage { ... public void createControl (Composite parent) { Composite base = new Group(parent, SWT.NONE); ((Group)base).setText("Which section of the report should be modified?"); GridLayout layout = new GridLayout(); int margin = 5; layout.marginHeight = margin; layout.marginWidth = margin; base.setLayout(layout); base.setFont(base.getParent().getFont()); base.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); headerBtn = new Button (base, SWT.RADIO); headerBtn.setText("Page Header"); headerBtn.setSelection(true); headerBtn.addSelectionListener(headerBtnListener); footerBtn = new Button (base, SWT.RADIO); footerBtn.setText("Page Footer"); footerBtn.addSelectionListener(footerBtnListener); setControl(base); } }
import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Group; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.SWT; public class MyWizardPage extends WizardPage { private Button headerBtn; private Button footerBtn; private final SelectionListener headerBtnListener = new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { ((MyReportWizard)getWizard()).dateInPageHeader = true; } }; private final SelectionListener footerBtnListener = new SelectionListener() { public void widgetDefaultSelected(SelectionEvent e) { } public void widgetSelected(SelectionEvent e) { ((MyReportWizard)getWizard()).dateInPageHeader = false; } }; public MyWizardPage(String name) { super(name); } public void createControl (Composite parent) { Composite base = new Group(parent, SWT.NONE); ((Group)base).setText("Which section of the report should be modified?"); GridLayout layout = new GridLayout(); int margin = 5; layout.marginHeight = margin; layout.marginWidth = margin; base.setLayout(layout); base.setFont(base.getParent().getFont()); base.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL)); headerBtn = new Button (base, SWT.RADIO); headerBtn.setText("Page Header"); headerBtn.setSelection(true); headerBtn.addSelectionListener(headerBtnListener); footerBtn = new Button (base, SWT.RADIO); footerBtn.setText("Page Footer"); footerBtn.addSelectionListener(footerBtnListener); setControl(base); } }
import com.crystaldecisions.sdk.occa.report.application.ReportDefController; import com.crystaldecisions.sdk.occa.report.data.SpecialField; import com.crystaldecisions.sdk.occa.report.data.SpecialFieldType; import com.crystaldecisions.sdk.occa.report.definition.IArea; import com.crystaldecisions.sdk.occa.report.definition.ISection; import com.crystaldecisions.sdk.occa.report.definition.FieldObject; import com.crystaldecisions.sdk.occa.report.definition.TextObject; import com.crystaldecisions.sdk.occa.report.lib.ReportSDKException; import com.businessobjects.crystalreports.designer.sdk.wizard.ReportWizard; public class MyReportWizard extends ReportWizard { public boolean dateInPageHeader = true; public MyReportWizard() throws ReportSDKException { } protected void addCustomPages () { addPage (new MyWizardPage("Header or Footer Page")); } protected void doFinish() { int REPORT_HEADER = 0; int PAGE_HEADER = 1; int PAGE_FOOTER = 4; try { IArea area = null; ReportDefController defCon = getReport().getReportDefController(); IArea reportHeader = defCon.getReportDefinition().getAreas().getArea(REPORT_HEADER); ISection rhSection = reportHeader.getSections().getSection(0); TextObject textObj = new TextObject("My Report"); textObj.setHeight(360); textObj.setWidth(1440); textObj.setTop (rhSection.getHeight() - textObj.getHeight()); defCon.getReportObjectController().add(textObj, rhSection, -1); if (dateInPageHeader) { area = defCon.getReportDefinition().getAreas().getArea(PAGE_HEADER); } else { area = defCon.getReportDefinition().getAreas().getArea(PAGE_FOOTER); } ISection sec = area.getSections().getSection(0); SpecialField dateField = new SpecialField(SpecialFieldType.printDate); FieldObject dateObj = new FieldObject(); dateObj.setFieldValueType(dateField.getType()); dateObj.setDataSource(dateField.getFormulaForm()); dateObj.setHeight(360); dateObj.setWidth(1440); dateObj.setTop (sec.getHeight() - dateObj.getHeight()); defCon.getReportObjectController().add(dateObj, sec, -1); } catch (Exception e) { e.printStackTrace(); } } }
SAP BusinessObjects http://www.sap.com/sapbusinessobjects/ Support services http://service.sap.com/bosap-support/ Product Documentation on the Web http://help.sap.com/ |