LODOP的语句是普通的语句,可以通过JS判断确定要执行哪个,或通过循环循环执行一些语句。
如果需要执行某些打印项在哪些条件下不打印,不需要通过代码删除打印项,类似LODOP.SET_PRINT_STYLEA(2,'Deleted',true);这种语句,只能在打印设计和维护内嵌时执行,弹出方式或打印预览是没有效果的,具体可查看本博客另一篇详细测试博文:Lodop删除语句Deleted只能内嵌设计维护可用

其实,如果某些打印项在某些条件下不需要打印,不需要删除该打印项本身,可以不执行添加该打印项的语句,根本不添加该打印项,或者给该打印项设置不预览不打印,这样预览或打印的时候就不会显示该打印项了。

1.通过判断决定是否添加该打印项。
判断某条件成立,添加该打印项,判断不成立,根本不添加。在执行的时候只要不执行添加该打印项的这句,就不会在任务里添加上,也就根本不需要删除。
(通过该方法,打印项根本不存在)

2.通过判断决定该打印项是否预览打印。
判断某条件成立,设置该打印项不预览不打印,默认是预览打印的。在执行的时候,只要执行了该不预览不打印样式,就不会在预览或打印中出现。
(通过该方法,打印项本身存在,样式是不预览不打印)
例如不预览不打印:LODOP.SET_PRINT_STYLEA(0,"PreviewOnly",2);}//打印项不预览不打印

测试代码:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>WEB打印控件LODOP</title>
<script language="javascript" src="LodopFuncs.js"></script>
</head>
<body>
<input type="text" id="T1" size="78" value=""><br>
<a href="javascript:prn1_preview()">判断后执行哪个打印项</a><br>
<a href="javascript:prn2_preview()">判断后执行是否让某个打印项不预览不打印</a>
<script language="javascript" type="text/javascript">
var LODOP; //声明为全局变量
function prn1_preview() {
LODOP=getLodop();
var a=document.getElementById("T1").value;
LODOP.PRINT_INIT("");
if(a)
LODOP.ADD_PRINT_BARCODE(28,34,307,47,"128A","123456789012");
//判断T1文本框有内容的时候执行该句
else
{LODOP.ADD_PRINT_TEXT(28,53,100,25,"输出的内容是空的");}
//判断T1文本框无内容的时候执行该句
LODOP.PRINT_DESIGN();
};
function prn2_preview() {
LODOP=getLodop();
var a=document.getElementById("T1").value;
LODOP.PRINT_INIT("");
LODOP.ADD_PRINT_BARCODE(28,34,307,47,"128A","123456789012");
LODOP.ADD_PRINT_TEXT(28,53,100,25,"输出的内容是空的");
if(!a)
{LODOP.SET_PRINT_STYLEA(0,"PreviewOnly",2);}//打印项不预览不打印
//判断T1文本框无内容的时候执行该句
LODOP.PRINT_DESIGN();//设计有,预览没有,打印没有
};
</script>
</body>

如图:

LODOP设置判断后执行哪个的更多相关文章

  1. 解决Button设置disabled后无法执行后台代码问题

    一.开始调式下面的程序,发现Button在js中设置disabled后无法执行后台代码(btnsave_Click)问题 <asp:Button ID="btnsave" r ...

  2. 设置N秒后执行某个方法或函数

    设置N秒后执行一个函数,最常用的是设置一个定时器,今天刚看到有这样一个函数,感觉还是比较简单实用的,就先记下来,免得忘记了. 5秒后执行pushSecondController这个函数 [self p ...

  3. jmeter 通过csv data set config 设置参数化后,执行结果显示为<EOF>

    通过csv data set config 设置参数化后,执行结果显示为<EOF>: 反复确认相应的参数的设置均没有问题,其中csv文件编码方式采用uft-8.在csv data set ...

  4. LODOP设置打印机不存在不打印

    LODOP中打印机的选择有优先级的存在,如果程序中指定的是错误的打印机,那么会走下一个优先级,这样,就可能存在选择了打印机无效,从默认打印机打印出来了,可以在代码里加判断避免这一点. 打印机优先级简介 ...

  5. iOS通知中心升级 -可设置按优先级执行block

    简单介绍下,这是需求驱动中发现iOS的NotificationCenter有很多功能无法实现,于是对其进行了一层包装.相当于手动管理观察者栈和监听者期望执行的事件,因此可以为其添加了很多新增的功能,将 ...

  6. ready是先执行的,load后执行,DOM文档的加载步骤

    在jq中在文档载入完毕后有这几种方式去执行指定函数: $(document).ready(function() { // ...代码... }); //document ready 简写 $(func ...

  7. LODOP设置同一个任务发送到不同打印机

    前面的博文Lodop打印语句最基本结构介绍(什么是一个任务),一个任务只能有一个打印语句(最后PRINT,PRINTA,PREVIEW等),如果执行多个,LODOP会弹出多次,C-LODOP会提示窗口 ...

  8. 小程序textarea设置maxlength后不是你想的那样简单

    可能很多小伙伴们.看见这个标题后; 觉得作者是一个标题党. textarea设置maxlength后, 限制用户输入的字符呗! 还能怎么样呢? 恭喜你,说对了一半. 之前我也一直是这样想的. 知道今天 ...

  9. Inno Setup入门(十一)——完成安装后执行某些程序

    Inno Setup入门(十一)——完成安装后执行某些程序 2011-02-16 16:24:23|  分类: Inno Setup |  标签:inno  setup   |举报 |字号 订阅   ...

随机推荐

  1. SQLNET.AUTHENTICATION_SERVICES操作系统认证登录的设定

    $ORACLE_HOME/network/admin/sqlnet.ora 如果使用了SQLNET.AUTHENTICATION_SERVICES=(NTS)则说明可以使用OS认证就,只要conn / ...

  2. redis list 清空记录小技巧

    redis list 清空记录小技巧   redis中的list操作命令中删除指定key中的所有记录命令: ltrim key 1 0 即 ltrim key start end 中的start要比e ...

  3. vsftpd 有关vsftpd的3个注意事项。。sshd[pid]: fatal: chroot into directory without nodev and either noexec or nosuid

    今天帮助已好友配置vsftpd,可能是长时间不用这个东西了,竟然这里个半天才把需求折腾完, 其实需求简单,就是使用系统账户登录,不可跳转目录,限制权限,只能上次不能下载. 懵逼一: 最开始配置sftp ...

  4. 简单的if多分支结构练习:用户录入 1-10的数字 , 1-7没奖品 , 8,9,10分别获得 3 2 1 等奖

    package com.summer.cn; import java.util.Scanner; /** * @author Summer *简单的if多分支结构练习 *用户录入 1-10的数字 , ...

  5. upper_bound

    头文件: #include<algorithm> 作用: 查找第一个大于给定数的元素或位置 在从小到大的排序数组中, 1.容器 (1).返回元素 #include<cstdio> ...

  6. HTML+CSS之盒子模型

    一.元素分类 CSS中html的标签元素大体分为三种类型 1.块状元素 @特点: #每个块级元素都从新的一行开始,并且其后的元素也另起一行(一个块级元素独占一行) #元素的高度.宽度.行高以及顶和底边 ...

  7. ASP.NET Core 2.1 源码学习之 Options[1]:Configure

    配置的本质就是字符串的键值对,但是对于面向对象语言来说,能使用强类型的配置是何等的爽哉! 目录 ASP.NET Core 配置系统 强类型的 Options Configure 方法 Configur ...

  8. RabbitMQ 惰性队列Lazy Queue

    RabbitMQ 队列分为几种类型,按照不同维度来分,可以分为排他性队列.普通队列.延迟队列.惰性队列.发布订阅队列等. 今天我们讨论的主角是惰性队列 Lazy Queue.众所周知,队列可以存储消息 ...

  9. [书籍]用UWP复习《C#并发编程经典实例》

    1. 简介 C#并发编程经典实例 是一本关于使用C#进行并发编程的入门参考书,使用"问题-解决方案-讨论"的模式讲解了以下这些概念: 面向异步编程的async和await 使用TP ...

  10. PS制作动感酷炫水人街舞照

    一.打开原图素材,用钢笔工具把人物从图中扣取出来,新建一个812 * 1024像素的文档,把抠出的人物拖进来,过程如下图. 二.用你习惯的修图工具把人物的手.脸部.腰部.袜子通通修掉.再补回衣服在透视 ...