关于限制水晶报表的导出格式_weixin_30715523的博客-程序员宅基地

技术标签: ViewUI  ui  javascript  

最近有业务需求,在使用水晶报表时导出格式要求限制为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

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_30715523/article/details/99168088

智能推荐

JAVA截取中英文混合字符串_一个字符串里面有英文单词和汉字,一个英文单词或者一个汉字算一个字,java写一段截_CoderJu的博客-程序员宅基地

JAVA截取中英文混合字符串import java.io.*;class test { public static void main (String[] args) throws java.lang.Exception { StringBuffer sb = new StringBuffer(); String str = "m我abc你好";_一个字符串里面有英文单词和汉字,一个英文单词或者一个汉字算一个字,java写一段截

详解OpenGL的坐标系、投影和几何变换-矩阵压栈思想/矩阵列式存储_glmatrixmode(gl_modelview); glloadidentity();_FreedomRoad~的博客-程序员宅基地

详解OpenGL的坐标系、投影和几何变换OPengl的渲染流程是先全部设置好数据和状态,GL_MODELVIEW是将当前要变换的空间向量和模型视图矩阵当前最顶矩阵(会乘以摄像机变换乘投影矩阵的矩阵得最终变换矩阵)关联存储好包括状态设置,提交渲染时候glflush才会提交渲染数据和命令。glPushMatrix()和glPopMatrix()的配对使用目的是方便得到需要变换的最顶矩阵,同时消_glmatrixmode(gl_modelview); glloadidentity();

javaSE基础复习之面向对象(3)_java 利用构造方法实现女孩选择男朋友的条件:有三室两厅的房子一套,有20万元左右_阳光宅男dh的博客-程序员宅基地

课程笔记Day081、掌握方法的可变参数定义及使用2、掌握递归算法以及其他优缺点3、掌握构造方法的定义及使用4、掌握this、static、package、import关键字5、熟练实现一些常用算法第一章 递归方法第01节 基础理论什么是递归呢?在 Java 当中,递归指的是 方法自己调用自己的过程。(备注:递归需要有出口,需要能够终结)思想:大事化小小事化了。生活实例: 《和尚讲故事》 从前有座山,山里有个庙,庙里有个老和尚,老和尚在给小和尚讲故事。 从前有座山,山里有个庙,_java 利用构造方法实现女孩选择男朋友的条件:有三室两厅的房子一套,有20万元左右

lunix git 详细_不争而善胜的博客-程序员宅基地

lunix git报错怎么办不能pull怎么办_lunix git

piwik的一些坑_piwik多次点击 防抖_wang_quan_li的博客-程序员宅基地

在JS中不要使用alert(_paq.push([''])),否则_piwik多次点击 防抖

java:判断某一年是否为闰年_判断一年是否为闰年java_程序打工仔的博客-程序员宅基地

java判断某一年是否为闰年计算闰年需要满足两个条件:一、能被400整除的数二、能被4整除但同时不能被100整除的数 year%400||year%4==0&&year%100!=0java代码://判断某一年是否为闰年import java.util.Scanner;public class LeapYear { public static void main(String[] args) { // TODO Auto-generated method s_判断一年是否为闰年java

随便推点

idea配置tomcat启动web项目_idea使用tomcat运行项目_forwardMyLife的博客-程序员宅基地

配置tomcat1.点击run configuration2.选择tomcat local3.配置tomcat4.部署web项目部署有2种方式war包:打成war置于服务器运行,这种方式我们比较常见。war exploded:将web工程以当前文件夹的位置关系上传到服务器。就是直接把文件夹、jsp页面 、classes等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方..._idea使用tomcat运行项目

idea常见问题(自用)_com.intellij.javaee.oss.admin.jmx.jmxadminexceptio_人间花木的博客-程序员宅基地

1. 运行tomcat时显示com.intellij.javaee.oss.admin.jmx.JmxAdminException:com.intellij.execution.ExecutionException原因:out目录下的artifacts文件不见了(正常情况)解决方案:生成artifacts时勾选Include In project build选项问题解决。2. 运行tomcat时显示artifactId‘ with value ‘xxxx‘ does not m_com.intellij.javaee.oss.admin.jmx.jmxadminexception: com.intellij.execution.

macOS 安装tensorflow_macos tensor flow_自塾的博客-程序员宅基地

电脑系统如下:安装tensorflow有很多坑,费了好大劲才安装上。废话不多说,上代码。打开终端,输入下面的代码,只有一行:pip install --user -i https://pypi.tuna.tsinghua.edu.cn/simple tensorflow==2.1.0解释一下上面这行代码:–user 的意思是安装到用户目录下,因为没有root权限。tensorflow的..._macos tensor flow

JS常见的六类错误类型_javascript常见的错误类型_猫猫的小茶馆的博客-程序员宅基地

转载至: https://www.leixuesong.cn/2825最近打算花点时间好好学习一下Javascript。之前一直知道JS怎么用,可就是不理解JS的本质。发现一些JS框架的源代码还是不太理解,想去了解详细的学习一下Javascript。下面PHP程序员雷雪松详细的总结下Javascript中常见的六类错误类型。一、SyntaxError解析错误SyntaxError是解析..._javascript常见的错误类型

测开-程序员宅基地

目录Chap1测试基础2Chap2测试设计4Chap3算法12Chap4设计题19Chap5逻辑题21Chap6编程及代码题26Chap7计算机基础381.C/C++382.JAVA393.多线程:404.网络编程415.Linux:43Chap 8项目和背景47Chap9外部工具48...

[java][源码分析]paoding-rose-jade框架源码分析(2)_AI蒸汽人的博客-程序员宅基地

在分析动态代理回调的invoke 方法之前,我们先看下factory.create(UserDAO.class) 里面做了什么。1.JadeFactory工厂分析JadeFactory类的代码如下:public class JadeFactory { private RowMapperFactory rowMapperFactory = new DefaultRowMapperFactory(

推荐文章

热门文章

相关标签