关于限制水晶报表的导出格式

最近有业务需求,在使用水晶报表时导出格式要求限制为PDF,但是水晶报表的reportviewer没有提供这样的选项,没有办法只好使用hack的水晶报表的到处对话框的方式来实现。

具体实现为找到 “\aspnet_client\system_web\2_0_50727\CrystalReportWebFormViewer4\html\crystalexportdialog.htm” 文件,修改为以下代码:

 

<html>
	<head>
		<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
	</head>
	<body>
		<script language="javascript">
<!--
// export UI functions
function check(obj) {
	return !obj.disabled;
}

function toggleRangeFields(obj) {
	if( obj.id == "radio1") {
		document.Export.from.disabled = true;
		document.Export.to.disabled = true;
	}
	else {
		document.Export.from.disabled = false;
		document.Export.to.disabled = false;
	}
	return check(obj);
}

function checkDisableRange() {
	if( document.Export.exportformat.value == "CrystalReports"
		|| document.Export.exportformat.value == "RecordToMSExcel" ) {
		if( document.Export.isRange[1].checked ) {
			document.Export.isRange[0].checked = true;
		}
		document.Export.isRange[1].disabled = true;
		document.Export.from.disabled = true;
		document.Export.to.disabled = true;
	}
	else {
		document.Export.isRange[1].disabled = false;
	}
}

function isValidNumber(number) {
	var nonDigit = /\D+/;
	if( nonDigit.test(number) || number == '0' || number == "") {
		return false;
	}
	return true;
}

function checkValuesAndSubmit() {
	if( document.Export.isRange[1].checked ) {
		if (!isValidNumber(document.Export.from.value) || !isValidNumber(document.Export.to.value) || (parseInt(document.Export.from.value, 10) > 

parseInt(document.Export.to.value, 10))) {
			alert(parent.parent.opener.L_InvalidPageRange);
			return;
		}
	}
	if( document.Export.exportformat != null && document.Export.exportformat.selectedIndex == 0 ) {
		alert(parent.parent.opener.L_ExportFormat);
		return;
	}
	document.Export.action = opener.document.getElementById('crystal_handler_page').value;
	document.Export.submit();
}

function init() {
    document.getElementById ('radio1').focus ();
    if (document.getElementById('reportsource')) {
	    document.getElementById('reportsource').value = parent.opener.document.getElementById('crystal_print_rptsrc').value;
	}
	if (document.getElementById('viewstate')) {
	    document.getElementById('viewstate').value = parent.opener.document.getElementById('crystal_print_vs').value;
	}
}

document.write(parent.parent.opener.getExportDialog());

var formatselect=document.getElementById('exportFormatList');
formatselect.options.length = 0; 
formatselect.options[0]=new Option("格式","");
formatselect.options[1]=new Option("Acrobat 格式 (PDF)","PDF");
-->
		</script>
	</body>
</html>

 

 

 

重点就是
var formatselect=document.getElementById('exportFormatList');
formatselect.options.length = 0; 
formatselect.options[0]=new Option("格式","");
formatselect.options[1]=new Option("Acrobat 格式 (PDF)","PDF");


用这个替换掉了原来的格式选择框

转载于:https://www.cnblogs.com/feishu/archive/2010/04/08/1707722.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值