设置默认横向打印以及纸张大小
报表预览或打印时默认是纵向的A4纸张大小,运行时可以通过“页面设置”修改纸张、边距、方向等
如果要修改默认的纸张、边距、方向等可以通过代码的方式在页面的“初次渲染完成”事件实现,具体如下:
react:
onPageReady = (event) => {
let report = this.comp("reportui0");
let config = report.state._config;
config.page.height = "364mm";
config.page.width = "257mm";
config.page.paperType = "B4"; //设置纸张类型
config.page.pageWidth = "257mm"; //设置纸张宽度
config.page.pageHeight = "364mm"; //设置纸张高度
config.page.marginLeft = "3.7mm";//设置纸张左边距
config.page.marginRight = "3.7mm";//设置纸张右边距
config.page.marginTop = "2.4mm";//设置纸张上边距
config.page.marginBottom = "2.4mm";//设置纸张下边距
}
vue:
let onPageReady = (event) => {
let report = $page.comp("reportui0");
let config = report.state._config;
config.page.orientation="Landscape"; //设置为横向
config.page.height = "364mm";
config.page.width = "257mm";
config.page.paperType = "B4"; //设置纸张类型
config.page.pageWidth = "257mm"; //设置纸张宽度
config.page.pageHeight = "364mm"; //设置纸张高度
config.page.marginLeft = "3.7mm";//设置纸张左边距
config.page.marginRight = "3.7mm";//设置纸张右边距
config.page.marginTop = "2.4mm";//设置纸张上边距
config.page.marginBottom = "2.4mm";//设置纸张下边距
}
47版本开始报表组件了提供了“组件加载”事件,可以在此事件中修改纸张、边距、方向等,具体如下:
react:
onReportui0Load = ({ref}) => {
let _config = ref.state._config;
let params = {
"paperType": "A4",
"pageWidth": "297mm",
"pageHeight": "210mm",
"orientation": "Landscape" || 'Portrait',
"marginTop": "2.4mm",
"marginBottom": "2.4mm",
"marginLeft": "3.7mm",
"marginRight": "3.7mm",
"marginHeader": "",
"marginFootter": ""
}
Object.assign(_config.page, params);
ref.setState({_config})
}
vue:
let onReportui0Load = ({ref}) => {
let _config = ref.state._config;
let params = {
"paperType": "A4",
"pageWidth": "297mm",
"pageHeight": "210mm",
"orientation": "Landscape" || 'Portrait',
"marginTop": "2.4mm",
"marginBottom": "2.4mm",
"marginLeft": "3.7mm",
"marginRight": "3.7mm",
"marginHeader": "",
"marginFootter": ""
}
Object.assign(_config.page, params);
ref.setState({_config})
}