package api;
import java.awt.Color;
import java.awt.Font;
import java.awt.Rectangle;
import java.io.ByteArrayOutputStream;
import com.fr.base.Formula;
import com.fr.base.Parameter;
import com.fr.base.background.ColorBackground;
import com.fr.base.iofile.attr.FormBodyPaddingAttrMark;
import com.fr.base.iofile.attr.FormTabPaddingAttrMark;
import com.fr.base.iofile.attr.WatermarkAttr;
import com.fr.base.mobile.ChartMobileFitAttrState;
import com.fr.base.mobile.MobileFitAttrState;
import com.fr.chart.chartattr.ChartCollection;
import com.fr.chart.chartdata.OneValueCDDefinition;
import com.fr.chart.chartglyph.GeneralInfo;
import com.fr.data.impl.DBTableData;
import com.fr.data.impl.NameDatabaseConnection;
import com.fr.data.impl.NameTableData;
import com.fr.data.util.function.SumFunction;
import com.fr.design.form.layout.FRHorizontalLayout;
import com.fr.form.main.Form;
import com.fr.form.main.mobile.FormMobileAttr;
import com.fr.form.ui.CardAddButton;
import com.fr.form.ui.CardSwitchButton;
import com.fr.form.ui.ChartEditor;
import com.fr.form.ui.ElementCaseEditor;
import com.fr.form.ui.FreeButton;
import com.fr.form.ui.LayoutBorderStyle;
import com.fr.form.ui.PaddingMargin;
import com.fr.form.ui.TextEditor;
import com.fr.form.ui.Widget;
import com.fr.form.ui.container.WAbsoluteLayout;
import com.fr.form.ui.container.WBodyLayoutType;
import com.fr.form.ui.container.WBorderLayout;
import com.fr.form.ui.container.WCardLayout;
import com.fr.form.ui.container.WFitLayout;
import com.fr.form.ui.container.WParameterLayout;
import com.fr.form.ui.container.WScaleLayout;
import com.fr.form.ui.container.WTabTextDirection;
import com.fr.form.ui.container.WTitleLayout;
import com.fr.form.ui.container.cardlayout.WCardMainBorderLayout;
import com.fr.form.ui.container.cardlayout.WCardTagLayout;
import com.fr.form.ui.container.cardlayout.WCardTitleLayout;
import com.fr.form.ui.container.cardlayout.WTabFitLayout;
import com.fr.form.ui.mobile.CollapseButton;
import com.fr.form.ui.mobile.CollapseState;
import com.fr.form.ui.mobile.DefaultMobileStyle;
import com.fr.form.ui.mobile.LineAttr;
import com.fr.form.ui.mobile.MobileFormCollapsedStyle;
import com.fr.form.ui.mobile.impl.SidebarMobileBookMarkStyle;
import com.fr.form.web.FormToolBarManager;
import com.fr.general.FRFont;
import com.fr.general.act.BorderPacker;
import com.fr.general.act.TitlePacker;
import com.fr.general.cardtag.BannerTemplateStyle;
import com.fr.general.cardtag.mobile.DefaultMobileTemplateStyle;
import com.fr.general.cardtag.mobile.LineDescription;
import com.fr.general.cardtag.mobile.MobileTemplateStyle;
import com.fr.general.cardtag.mobile.UpMenuStyle;
import com.fr.js.JavaScriptImpl;
import com.fr.plugin.chart.PiePlot4VanChart;
import com.fr.plugin.chart.base.ChartRoseType;
import com.fr.plugin.chart.openvideo.OpenVideoSettings;
import com.fr.plugin.chart.type.OpenVideoType;
import com.fr.plugin.chart.vanchart.VanChart;
import com.fr.report.cell.DefaultTemplateCellElement;
import com.fr.report.fit.FitAttrState;
import com.fr.report.fit.ReportFitAttr;
import com.fr.report.web.button.form.DefaultListener;
import com.fr.report.worksheet.FormElementCase;
import com.fr.stable.Constants;
import com.fr.workspace.WorkContext;
import java.util.Arrays;
/**
* 决策报表模板
*
* @author Administrator
*
*/
public class FormReportlet {
public static void main(String[] args) {
try {
ServerConnector.remote();
Form form = new Form();
templateAttr(form);
templateElement(form);
ByteArrayOutputStream buff = new ByteArrayOutputStream();
form.export(buff);
WorkContext.getWorkResource().write("reportlets/决策报表.frm", buff.toByteArray());
buff.close();
} catch (Exception ex) {
ex.printStackTrace();
}
ServerConnector.disconnect();
}
/**
* 模板元素
*
* @param form
*/
private static void templateElement(Form form) {
TextEditor text = new TextEditor();
text.setWidgetName("text");
FreeButton button = new FreeButton();
button.setWidgetName("button");
JavaScriptImpl j = new JavaScriptImpl(";");
j.setParameters(new Parameter[] { new Parameter("ddd", new Formula("now()")) });
j.addJSImort("scripts/js/my.js");
WBorderLayout layout = new WBorderLayout();
/*
* 容器
*/
layout.setWidgetName("form");
// 标题
layout.setCustomTitleName("form_title");
// 事件
layout.addListener(new DefaultListener(Widget.EVENT_CLICK, j));
// 移动端
layout.getMobileBookMark().setUseBookMark(true);
layout.getMobileBookMark().setBookMarkName("bookmark");
/*
* 参数面板
*/
layout.setNorthSize(100);
WParameterLayout para = new WParameterLayout();
WAbsoluteLayout.BoundsWidget wb = new WAbsoluteLayout.BoundsWidget(text, new Rectangle(0, 0, 70, 20));
// 移动端样式模板
DefaultMobileStyle mobileStyle = new DefaultMobileStyle();
mobileStyle.setCommonCustom(true);
mobileStyle.setCommonBackground(ColorBackground.getInstance(Color.YELLOW));
mobileStyle.setCommonBorderType(Constants.LINE_THICK);
mobileStyle.setCommonBorderColor(Color.blue);
mobileStyle.setCommonBorderRadius(9);
mobileStyle.setCommonIconColor(Color.gray);
mobileStyle.setCommonFont(FRFont.getInstance("黑体", Font.BOLD, 13));
text.setMobileStyle(mobileStyle);
// 导航
text.getMobileBookMark().setUseBookMark(true);
text.getMobileBookMark().setBookMarkName("text");
button.setMobileStyle(mobileStyle);
para.addWidget(wb);
para.addWidget(new WAbsoluteLayout.BoundsWidget(button, new Rectangle(100, 0, 70, 20)));
// 组件名称
para.setWidgetName("para");
// 标签
para.setLabelName("para_label");
// 背景
para.setBackground(ColorBackground.getInstance(Color.GREEN));
para.setDelayDisplayContent(false);
para.setUseParamsTemplate(false);
para.setPosition(FRHorizontalLayout.RIGHT);
para.setDesignWidth(900);
para.addMobileWidget("button");
para.addMobileWidget("label");
layout.addNorth(para);
/*
* body
*/
WFitLayout body = new WFitLayout();
layout.addCenter(body);
body.setWidgetName("body");
// 自适应布局
body.setLayoutType(WBodyLayoutType.FIT);
WFitLayout container = body;
// 像素
body.setContainerWidth(700);
body.setContainerHeight(500);
// 组件名称
container.setWidgetName("body");
// 内边距
container.setMargin(new PaddingMargin(1, 2, 3, 4));
// 组件缩放
container.setCompState(WFitLayout.STATE_ORIGIN);
// 组件间隔
container.setCompInterval(5);
/*
* // 绝对布局
* body.setLayoutType(WBodyLayoutType.ABSOLUTE);
* WAbsoluteBodyLayout container = new WAbsoluteBodyLayout("body");
* BoundsWidget bw = new BoundsWidget(container, new Rectangle(0, 0, 700, 500));
* body.addWidget(bw);
* // 缩放逻辑
* container.setCompState(WAbsoluteBodyLayout.STATE_FIXED);
*/
// 样式
container.getBorderStyle().setBackground(ColorBackground.getInstance(Color.blue));
container.getBorderStyle().setAlpha(.75f);
// 水印
WatermarkAttr water = new WatermarkAttr();
water.setText("watermark");
water.setFontSize(25);
water.setHorizontalGap(200);
water.setVerticalGap(100);
water.setColor(Color.RED);
form.addAttrMark(water);
// 事件
container.addListener(new DefaultListener(Widget.EVENT_CLICK, j));
// 手机重布局
container.setAppRelayout(true);
// 导航样式
SidebarMobileBookMarkStyle ss = new SidebarMobileBookMarkStyle();
ss.setWidth(70);
ss.setHeight(35);
ss.setGap(4);
ss.setBorderRadius(3);
ss.setBackgroundColor(Color.GRAY);
ss.setOpacity(40);
ss.setBorderLineStyle(Constants.LINE_THICK);
ss.setBorderColor(Color.BLUE);
ss.setFontFamily("楷体");
ss.setFontSize(11);
ss.setFontColor(Color.red);
ss.setFontItalic(true);
ss.setFontBold(true);
ss.setSelectedBackgroundColor(Color.yellow);
ss.setSelectedOpacity(50);
ss.setSelectedBorderLineStyle(Constants.LINE_THIN);
ss.setSelectedBorderColor(Color.CYAN);
ss.setSelectedFontFamily("黑体");
ss.setSelectedFontSize(12);
ss.setSelectedFontColor(Color.LIGHT_GRAY);
ss.setSelectedFontItalic(false);
ss.setSelectedFontBold(false);
container.setMobileBookMarkStyle(ss);
// 显示该层下的组件导航
container.setShowBookmarks(false);
// 内边距/组件间隔
FormBodyPaddingAttrMark fm = new FormBodyPaddingAttrMark();
fm.setPaddingMargin(new PaddingMargin(5, 6, 7, 8));
fm.setInterval(6);
container.addWidgetAttrMark(fm);
// 组件冻结
container.updateFrozenWidgets(Arrays.asList(new String[] { "button" }));
// 组件顺序
container.addMobileWidget("button");
container.addMobileWidget("label");
/*
* 添加控件
*/
// 自适应布局时,以下控件需要多加一层
// Password、NumberEditor、TreeComboBoxEditor、DateEditor、ComboCheckBox、ComboBox、TextEditor
wb = new WAbsoluteLayout.BoundsWidget(text, new Rectangle(0, 0, 350, 21));
wb.setWidgetName("text");
WScaleLayout ws = new WScaleLayout("text");
ws.addWidget(wb);
ws.getMobileBookMark().setUseBookMark(true);
ws.getMobileBookMark().setBookMarkName("text");
container.addWidget(new WAbsoluteLayout.BoundsWidget(ws, new Rectangle(0, 0, 150, 200)));
container.addWidget(new WAbsoluteLayout.BoundsWidget(button, new Rectangle(150, 0, 150, 200)));
/*
* 图表
*/
ChartEditor chartEditor = new ChartEditor();
chartEditor.setWidgetName("chart");
PiePlot4VanChart plot = new PiePlot4VanChart();
plot.setRoseType(ChartRoseType.PIE_DIFFERENT_ARC);
OneValueCDDefinition data = new OneValueCDDefinition();
data.setTableData(new NameTableData("ds1"));
data.setCategoryName("无");
data.setSeriesColumnName("产品类型");
data.setValueColumnName("销量");
data.setDataFunction(new SumFunction());
VanChart chart = new VanChart(plot);
chart.setFilterDefinition(data);
chartEditor.resetChangeChartCollection(new ChartCollection(chart));
WTitleLayout chartLayout = new WTitleLayout();
chartLayout.setWidgetName("chartLayout");
chartLayout.addBody(chartEditor, new Rectangle(0, 0, 400, 200));
// 样式
chartEditor.setVisible(true);
BorderPacker borderStyle = chartEditor.getBorderStyle();
borderStyle.setType(LayoutBorderStyle.TITLE);
borderStyle.setBorderStyle(LayoutBorderStyle.SHADOWS);
borderStyle.setBorder(Constants.LINE_THICK);
borderStyle.setColor(Color.red);
borderStyle.setBorderRadius(7);
borderStyle.setBackground(ColorBackground.getInstance(Color.pink));
borderStyle.setAlpha(.66f);
TitlePacker t = borderStyle.getTitle();
t.setTextObject("title1");
t.setFrFont(FRFont.getInstance("楷体", Font.ITALIC, 13));
t.setBackground(ColorBackground.getInstance(Color.RED));
t.setPosition(Constants.CENTER);
// 事件
chartLayout.addListener(new DefaultListener(Widget.EVENT_CLICK, j));
// 移动端
chartLayout.getMobileBookMark().setUseBookMark(true);
chartLayout.getMobileBookMark().setBookMarkName("bookmark");
// 缩放逻辑
chartEditor.getMobileAttr().setZoomOutAttr(ChartMobileFitAttrState.PROPORTION);
// 展开收起
MobileFormCollapsedStyle collapsed = new MobileFormCollapsedStyle();
collapsed.setCollapsedWork(true);
CollapseButton cb = new CollapseButton();
cb.setShowButton(false);
cb.setButtonColor(Color.yellow);
cb.setFoldedHint("fold");
cb.setUnfoldedHint("unfold");
cb.setDefaultState(CollapseState.UNFOLDED);
collapsed.setCollapseButton(cb);
chartEditor.setMobileCollapsedStyle(collapsed);
// 允许全屏
chartEditor.getMobileAttr().setAllowFullScreen(false);
// 组件可选中
chartEditor.getMobileAttr().setFunctionalWhenUnactivated(true);
container.addWidget(new WAbsoluteLayout.BoundsWidget(chartLayout, new Rectangle(300, 0, 400, 200)));
/*
* 报表控件
*/
WTitleLayout report = new WTitleLayout("report1");
container.addWidget(new WAbsoluteLayout.BoundsWidget(report, new Rectangle(0, 200, 200, 300)));
ElementCaseEditor ec = new ElementCaseEditor();
report.addBody(ec, new Rectangle(0, 0, 200, 300));
// 组件名称
ec.setWidgetName("report1");
// 可见
ec.setVisible(false);
// 样式
borderStyle = ec.getBorderStyle();
borderStyle.setType(LayoutBorderStyle.TITLE);
borderStyle.setBorderStyle(LayoutBorderStyle.SHADOWS);
borderStyle.setBorder(Constants.LINE_THICK);
borderStyle.setColor(Color.BLUE);
borderStyle.setBorderRadius(5);
borderStyle.setBackground(ColorBackground.getInstance(Color.YELLOW));
borderStyle.setAlpha(.78f);
// 标题
t = borderStyle.getTitle();
t.setTextObject("title");
t.setFrFont(FRFont.getInstance("楷体", Font.ITALIC, 13));
t.setBackground(ColorBackground.getInstance(Color.RED));
t.setPosition(Constants.CENTER);
// 报表快工具栏
ec.setToolBars(new FormToolBarManager[] { FormToolBarManager.createDefaultToolBar() });
// PC浏览器自适应
ec.setFitStateInPC(FitAttrState.DOUBLE_FIT.getState());
// 事件
ec.addListener(new DefaultListener(Widget.EVENT_CLICK, j));
// 移动端 - 导航
report.getMobileBookMark().setUseBookMark(true);
report.getMobileBookMark().setBookMarkName("report");
// 移动端 - 自适应
ec.setHorziontalAttr(MobileFitAttrState.HORIZONTAL);
ec.setVerticalAttr(MobileFitAttrState.BIDIRECTIONAL);
// 展开收起
collapsed = new MobileFormCollapsedStyle();
collapsed.setCollapsedWork(true);
collapsed.setLineAttr(new LineAttr(4));
cb = new CollapseButton();
cb.setShowButton(false);
cb.setButtonColor(Color.yellow);
cb.setFoldedHint("sq");
cb.setUnfoldedHint("zk");
cb.setDefaultState(CollapseState.UNFOLDED);
collapsed.setCollapseButton(cb);
ec.setMobileCollapsedStyle(collapsed);
// 允许全屏
ec.setAllowFullScreen(true);
// 组件可选中
ec.setFunctionalWhenUnactivated(true);
// 手机显示限制高度
ec.setHeightRestrict(true);
ec.setHeightPercent(.66);
FormElementCase fe = (FormElementCase)ec.getElementCase();
fe.addCellElement(new DefaultTemplateCellElement(0, 0, 123));
/*
* 绝对画布块
*/
WAbsoluteLayout ab = new WAbsoluteLayout();
ab.setWidgetName("absolute");
ab.setCompState(WAbsoluteLayout.STATE_FIXED);
ab.setShowBookmarks(false);
ab.addWidget(new WAbsoluteLayout.BoundsWidget(button, new Rectangle(20, 20, 40, 40)));
container.addWidget(new WAbsoluteLayout.BoundsWidget(ab, new Rectangle(200, 200, 200, 300)));
/*
* Tab块
*/
CardSwitchButton tabSwitchButton1 = new CardSwitchButton();
tabSwitchButton1.setWidgetName("tabSwitchButton1");
tabSwitchButton1.setCardLayoutName("tabBody");
tabSwitchButton1.setCustomStyle(true);
tabSwitchButton1.setIndex(0);
CardSwitchButton tabSwitchButton2 = new CardSwitchButton();
tabSwitchButton2.setWidgetName("tabSwitchButton2");
tabSwitchButton2.setCardLayoutName("tabBody");
tabSwitchButton2.setCustomStyle(true);
tabSwitchButton2.setIndex(1);
WTabFitLayout body1 = new WTabFitLayout("body1", 0, tabSwitchButton1);
body1.setTabNameIndex(0);
body1.setCustomStyle(true);
WTabFitLayout body2 = new WTabFitLayout("body2", 1, tabSwitchButton2);
body2.setTabNameIndex(1);
body2.setCustomStyle(true);
WCardMainBorderLayout tabLayout = new WCardMainBorderLayout();
tabLayout.setWidgetName("tabLayout");
WCardLayout tabBody = new WCardLayout();
tabBody.setWidgetName("tabBody");
WCardTagLayout tabSwitch = new WCardTagLayout();
tabSwitch.setWidgetName("tabSwitch");
WCardTitleLayout tabPane = new WCardTitleLayout();
tabPane.setCardName("tabBody");
tabLayout.addNorth(tabPane);
tabLayout.setNorthSize(30);
tabLayout.addCenter(tabBody);
CardAddButton addButton = new CardAddButton();
addButton.setWidgetName("addButton");
addButton.setCardLayoutName("tabBody");
tabPane.addEast(addButton);
tabPane.setEastSize(40);
tabPane.addCenter(tabSwitch);
tabSwitch.addWidget(tabSwitchButton1);
tabSwitch.addWidget(tabSwitchButton2);
tabBody.addWidget(body1, 0);
tabBody.addWidget(body2, 1);
// 事件
tabLayout.addListener(new DefaultListener(Widget.EVENT_CLICK, j));
// 移动端 - 导航
tabLayout.getMobileBookMark().setUseBookMark(true);
tabLayout.getMobileBookMark().setBookMarkName("tablayout");
// 样式
borderStyle = new LayoutBorderStyle(Constants.LINE_THICK, Color.RED, 10, LayoutBorderStyle.TITLE,
LayoutBorderStyle.SHADOWS);
borderStyle.setBackground(ColorBackground.getInstance(Color.blue));
borderStyle.setAlpha(.7f);
tabBody.setBorderStyle(borderStyle);
// tab轮播
tabBody.setCarousel(true);
tabBody.setCarouselInterval(3.5);
// 样式模板
tabSwitch.setTemplateStyle(new BannerTemplateStyle());
// 显示位置
tabLayout.addNorth(tabPane);
// 背景
borderStyle.getTitle().setBackground(ColorBackground.getInstance(Color.getHSBColor(0, 0, 0)));
// 字体
borderStyle.getTitle().setFrFont(FRFont.getInstance("楷体", Font.ITALIC, 12));
// 文本方向
tabSwitch.setTextDirection(WTabTextDirection.TEXT_HORI_DERECTION);
// 事件
tabSwitch.addListener(new DefaultListener(WCardTagLayout.CARD_CHANGE, j));
// 移动端 - 模板样式 - 上菜单式
UpMenuStyle up = new UpMenuStyle();
up.setCustom(true);
// 显示间隔
up.setGapFix(true);
// Tab最小宽度
up.setMinTabWidth(88);
// 背景
up.setInitialColor(Color.YELLOW);
up.setSelectColor(Color.red);
// 字符
up.getTabFontConfig().setFont(FRFont.getInstance("楷体", Font.ITALIC, 12));
up.getTabFontConfig().getFont().setForeground(Color.blue);
up.getTabFontConfig().setSelectColor(Color.red);
// 下边框
up.setBottomBorder(new LineDescription(Constants.LINE_THIN, Color.BLACK));
// 下划线
up.setUnderline(new LineDescription(Constants.LINE_THICK, Color.blue));
tabSwitch.setMobileTemplateStyle(up);
/*
* // 移动端 - 模板样式 - 下菜单式
* DownMenuStyle down = new DownMenuStyle();
* down.setCustom(true);
* // 背景
* down.setInitialColor(Color.yellow);
* down.setSelectColor(Color.green);
* // 字符
* down.getTabFontConfig().setFont(FRFont.getInstance("楷体", Font.ITALIC, 12));
* down.getTabFontConfig().getFont().setForeground(Color.blue);
* down.getTabFontConfig().setSelectColor(Color.red);
* // 图标
* tabSwitchButton1.setInitIconName(IconManager.EDIT.getName());
* tabSwitchButton1.setSelectIconName(IconManager.VERIFY.getName());
* // 分割线
* down.setSplitLine(new LineDescription(Constants.LINE_THICK, Color.black));
* tabSwitch.setMobileTemplateStyle(down);
*/
/*
* // 移动端 - 模板样式 - 滑动式
* SliderStyle slider = new SliderStyle();
* slider.setCustom(true);
* // 背景
* slider.setInitialColor(Color.BLACK);
* // 字符
* slider.getTabFontConfig().setFont(FRFont.getInstance("楷体", Font.ITALIC, 12));
* slider.getTabFontConfig().getFont().setForeground(Color.red);
* // 圆点指示器
* slider.setInitDotColor(Color.blue);
* slider.setSelectDotColor(Color.green);
* tabSwitch.setMobileTemplateStyle(slider);
*/
/*
* // 移动端 - 模板样式 - 联排式
* UniteStyle unite = new UniteStyle();
* unite.setCustom(true);
* // 按钮边距
* unite.setPaddingTop(1);
* unite.setPaddingBottom(2);
* unite.setPaddingLeft(3);
* unite.setPaddingRight(4);
* // 按钮背景
* unite.setInitialColor(Color.yellow);
* unite.setSelectColor(Color.pink);
* // 边框
* unite.setBorderLineStyle(Constants.LINE_THICK);
* unite.setBorderColor(Color.blue);
* unite.setBorderRadius(5);
* // 字符
* unite.getTabFontConfig().setFont(FRFont.getInstance("楷体", Font.ITALIC, 12));
* unite.getTabFontConfig().getFont().setForeground(Color.red);
* unite.getTabFontConfig().setSelectColor(Color.green);
* tabSwitch.setMobileTemplateStyle(unite);
*/
// 移动端 - 高级
// 内边距
FormTabPaddingAttrMark tabPadding = new FormTabPaddingAttrMark();
tabPadding.setPaddingMargin(new PaddingMargin(5, 6, 7, 8));
// 显示组件导航
tabSwitch.setShowBookmarks(true);
// 显示标题
MobileTemplateStyle dm = tabSwitch.getMobileTemplateStyle();
dm.setShowTabTitle(true);
// 支持滑动切换
dm.setCanSlide(true);
// 显示圆点指示器
dm.setShowDotIndicator(true);
// 显示方式
dm.setDotIndicatorShowType(DefaultMobileTemplateStyle.TYPE_FLOAT_DOT_INDICATOR);
// 初始填充
dm.setIndicatorInitialColor(Color.red);
// 选中填充
dm.setIndicatorSelectColor(Color.green);
// 组件间隔
tabPadding.setInterval(6);
tabSwitch.setMobileTemplateStyle(dm);
tabSwitch.addWidgetAttrMark(tabPadding);
// tab内容样式
body1.setCustomStyle(true);
body1.setInitialBackground(ColorBackground.getInstance(Color.green));
body1.setOverBackground(ColorBackground.getInstance(Color.blue));
body1.setClickBackground(ColorBackground.getInstance(Color.yellow));
// 内边距
body1.setMargin(new PaddingMargin(1, 2, 3, 4));
// 当前编辑tab
body1.setCompInterval(4);
body2.setCompInterval(5);
tabSwitchButton1.setText("text11");
tabSwitchButton2.setText("text22");
// 事件
body1.addListener(new DefaultListener(Widget.EVENT_CLICK, j));
body1.addWidget(new WAbsoluteLayout.BoundsWidget(CellWidget.getCheckBox(), new Rectangle(0, 0, 50, 50)));
body2.addWidget(new WAbsoluteLayout.BoundsWidget(CellWidget.getDateEditor(), new Rectangle(0, 0, 50, 50)));
container.addWidget(new WAbsoluteLayout.BoundsWidget(tabLayout, new Rectangle(400, 200, 300, 300)));
form.setContainer(layout);
}
/**
* 模板属性
*
* @param form
*/
private static void templateAttr(Form form) {
// 模板数据集
DBTableData db = new DBTableData(new NameDatabaseConnection("FRDemo"), "select * from 销量");
form.putTableData("ds1", db);
// 模板参数
form.addParameter(new Parameter("p1", 123));
// 移动端属性
FormMobileAttr mobileAttr = new FormMobileAttr();
mobileAttr.setMobileOnly(false);
mobileAttr.setAdaptivePropertyAutoMatch(false);
mobileAttr.setAppearRefresh(true);
mobileAttr.setPromptWhenLeaveWithoutSubmit(true);
mobileAttr.setAllowDoubleClickOrZoom(false);
form.setFormMobileAttr(mobileAttr);
// PC端报表快自适应属性
ReportFitAttr attr = new ReportFitAttr();
attr.setFitFont(true);
attr.setFitStateInPC(FitAttrState.HORIZONTAL_FIT.getState());
form.setReportFitAttr(attr);
// 开场效果
OpenVideoSettings ov = new OpenVideoSettings();
ov.setOpenVideoType(OpenVideoType.STYLE1);
ov.setOpenVideoType(OpenVideoType.STYLE2);
ov.setOpenVideoType(OpenVideoType.CUSTOM);
ov.setCustomBackPath("back");
ov.setCustomTransPath("trans");
ov.setUsable(true);
ov.setTextContent("开场文字");
ov.setFont(FRFont.getInstance("黑体", Font.BOLD, 14));
GeneralInfo gi = new GeneralInfo();
gi.setBackground(ColorBackground.getInstance(Color.RED));
gi.setAlpha(.95f);
ov.setClickExit(false);
ov.setExitTime(5);
ov.setBack(gi);
form.addAttrMark(ov);
}
}
决策报表模板
最新推荐文章于 2022-11-17 22:59:11 发布