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();
}
}
}|
Business Objects, an SAP company http://www.businessobjects.com/ Support services http://www.businessobjects.com/services/support/ Product Documentation on the Web http://support.businessobjects.com/documentation/ |