单元格JS复选框,带参按钮传值

news2024/9/25 21:28:00

一、复选框设置

1.第一个复选框

初始化后:

setTimeout(function() {
	var isAllChecked = true;
	//设置标记状态为选中
	var boxes = _g().getWidgetsByName("boxes");
	//获取当前页的复选按钮控件数组
	if (typeof(boxes[0]) != "undefined") {
		for (i = 0; i < boxes.length; i++) {
			isAllChecked = boxes[i].getValue() == true ? isAllChecked : false;
			//如果控件大于1个,则遍历获取值,一旦出现未选中状态的按钮,则将标记值改为false
		}
	} else {
		isAllChecked = boxes.getValue();
		//如果控件只有1个,则直接获取控件值,并传给标记值
	}
	//_g().setCellValue(0, 0, 0, isAllChecked); //将标记值赋给A1单元格 0 0 0 代表的是 第一个sheet页,第一列 第一行    填报从0 开始
	_g().setCellValue("A1", isAllChecked); //直接写单元格就行,不行再用上边的
}, 50)

 状态改变:

var flag = this.getValue();
//获取当前值
var boxes = _g().getWidgetsByName("boxes");
//获取当前页的复选按钮控件数组
if (typeof(boxes[0]) != "undefined") {
        var configs = [];
        for (i = 0; i < boxes.length; i++) {
                var cr=FR.cellStr2ColumnRow(boxes[i].options.location);
                //获取行列号对象
                configs.push({reportIndex:0,col:cr.col,row:cr.row,value:flag});
                //如果控件大于1个,则遍历将行列号以及值信息插入数组中
                
        }
            _g().setCellsQuick(configs);
        //批量赋值
        //如果模板存在冻结,且被赋值单元格的行高列宽会改变,则需要替换此句为:_g().setCellsValueInBatch(configs);
} else {
        var cr=FR.cellStr2ColumnRow(boxes.options.location);
        //获取行列号对象
        _g().setCellValue(0,cr.col,cr.row,flag);
        //如果控件只有1个,则直接赋值
}

第二个复选框:

 

var isAllChecked = true;
//设置标记状态为选中
var boxes = _g().getWidgetsByName("boxes");
//获取当前页的复选按钮控件数组
if (typeof(boxes[0]) != "undefined") {
	for (i = 0; i < boxes.length; i++) {
		isAllChecked = boxes[i].getValue() == true ? isAllChecked : false;
		//如果控件大于1个,则遍历获取值,一旦出现未选中状态的按钮,则将标记值改为false
	}
} else {
	isAllChecked = boxes.getValue();
	//如果控件只有1个,则直接获取控件值,并传给标记值
}
	//_g().setCellValue(0, 0, 0, isAllChecked); //将标记值赋给A1单元格 0 0 0 代表的是 第一个sheet页,第一列 第一行    填报从0 开始
	_g().setCellValue("A1", isAllChecked); //直接写单元格就行,不行再用上边的

二、按钮获取单元格值

 

var cells = [];
var cellsIds = [];
var cellsIds1 = [];	
var boxes = _g().getWidgetsByName("boxes");

//获取当前页的复选按钮控件数组
if (typeof(boxes[0]) != "undefined") {
        var configs = [];
        for (i = 0; i < boxes.length; i++) {
        	if (boxes[i].selected() == true) {
                var cr=FR.cellStr2ColumnRow(boxes[i].options.location);
			//获取勾选复选框所在行列
			//判断是否勾选
			var a = "'" + contentPane.getCellValue(0, cr.row) + "'";
			//字段1值获取 从A列开始为0,到字段1为第八列
			var 字段1 = contentPane.getCellValue(8, cr.row) ;
			//字段2值获取 从A列开始为0,到字段2为第10列
			var 字段2 = contentPane.getCellValue(10, cr.row) ;
			//字段3值获取 从A列开始为0,到字段3为第17列
			var 字段3 =contentPane.getCellValue(17, cr.row);
			//字段4值获取 从A列开始为0,到字段4为第39列
			var 字段4 =contentPane.getCellValue(39, cr.row);
			cellsIds.push("'" + 字段1 + 字段2  + "'"  ) //输出的值为 '字段1值字段2值'
			cellsIds1.push(字段3)
			cells.push(a);
        		}
		}
	}
if (cells.length == 0) {
		alert("请勾选一笔资料!");
	} 
	else {
		alert(cellsIds1);
		alert(cellsIds);
		if ( cellsIds1.indexOf("判断的值随便什么") == -1){  //复选框选中多个的情况下用这句    //单选框用这句 if (cellsIds1=="判断的值随便什么") {
					var v_sql = "SQL(\"数据库\",\"\  UPDATE 表  SET 字段1='1',字段2=to_date(SYSDATE) WHERE  字段1||字段2 IN ("+cellsIds+")  \",1)";		
					
					//alert(v_sql);
					FR.Msg.confirm("警告", "确定要?", function(value) {
						if (value) {
									FR.remoteEvaluate(v_sql);
									alert("成功!");
									//当发起审批成功之后,静默调用填报事件 
									_g('${sessionID}').verifyAndWriteReport();
									//刷新页面不刷新参数面板
									setTimeout(function() {
										_g().refreshAllSheets();
										//location.reload();
									}, 500)	
	
						} else {
								return false;
								alert("失败!");
						
						}
					})		
				} 
					else {
						alert("请勿重复!");						
			} 
		}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/805624.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Neural Network学习笔记4

完整的模型训练套路 train.py import torch import torchvision from torch.utils.data import DataLoader # 引入自定义的网络模型 from torch.utils.tensorboard import SummaryWriterfrom model import *# 准备数据集 train_data torchvision.datasets.CIFAR10(root"…

JAVASE---认识JAVASE

我们今天开始学习Java语言&#xff0c;首先Java是一种优秀的程序设计语言&#xff0c;它具有令人赏心悦目的语法和易于理解的语义。不仅如此&#xff0c;Java还是一个有一系列计算机软件和规范形成的技术体系&#xff0c;这个技术体系提供了完整的用于软件开发和跨平台部署的支…

零的奇幻漂移:解密数组中的神秘消失与重生

本篇博客会讲解力扣“283. 移动零”的解题思路&#xff0c;这是题目链接。 思路1 这道题目很有意思。虽然是简单题&#xff0c;其蕴含的玄机还是很多的。正常来讲&#xff0c;这种题目一般都会原地操作&#xff08;不开辟额外的数组&#xff0c;空间复杂度是O(1)&#xff09;&…

Debian12安装MySQL时报错缺少依赖libssl1.1(>= 1.1.1)

解决方案&#xff1a;进入镜像站&#xff0c;下载libssl包并安装&#xff0c;如&#xff1a;https://mirrors.tuna.tsinghua.edu.cn/debian/pool/main/o/openssl/libssl1.1_1.1.1n-0%2Bdeb11u5_amd64.debIndex of /debian/pool/main/o/openssl/ | 清华大学开源软件镜像站 | Tsi…

用windeployqt.exe打包Qt代码

首先找到我们编译Qt代码的对应Qt版本的dll目录&#xff0c;该目录下有windeployqt.exe&#xff1a; D:\DevTools\Qt\5.9\msvc2017_64\bin 在这个目录下打开cmd程序。 然后把要打包的exe放到一个单独的目录下&#xff0c;比如&#xff1a; 然后在cmd中调用&#xff1a; winde…

【T1】存货成本异常、数量为零金额不为零的处理方法。

【问题描述】 使用T1飞跃专业版的过程中&#xff0c; 由于业务问题或者是操作问题&#xff0c; 经常会遇到某个商品成本异常不准确&#xff0c; 或者是遇到数量为0金额不为0的情况&#xff0c;需要将其成本调为0。 但是T1软件没有出入库调整单&#xff0c;并且结账无法针对数量…

光伏储能行业MES系统解决方案

万界星空科技光伏储能行业mes解决方案连接起仓储物流、生产计划、制程管理、品质管理等各个模块&#xff0c;覆盖全厂的各个工序段&#xff0c;提供计划的执行、跟踪以及所有资源(人、设备、物料等)的当前状态&#xff0c;帮助企业实现产品质量、生产效率的提升。 万界星空平台…

Unity射线穿透UI解决

unity场景中&#xff0c;射线是可以穿透UI的。我用过很多版本&#xff0c;都有这个问题。 比如我现在用2020版本的unity做了个范例&#xff1a; 我在场景中新建了一个cube名叫&#xff1a;我秦始皇打钱。 点击这个物体就会出现log显示这个物体的名字&#xff0c;代码在下面。…

<Java>Map<String,Object>中解析Object类型数据为数组格式

背景&#xff1a; 前端&#xff1a;入参为字符串和数组类型&#xff1b;通过json字符串传给后台&#xff0c; 后台&#xff1a;后台通过工具解析为Map<String&#xff0c;Object>&#xff0c;然后需要解析出Map里面的数组值做操作&#xff1b; 需求&#xff1a; 入参&…

常用的CSS渐变样式

边框渐变 方案1&#xff1a; 边框渐变( 支持圆角) width: 726px;height: 144px;border-radius: 24px;border: 5px solid transparent;background-clip: padding-box, border-box; background-origin: padding-box, border-box; background-image: linear-gradient(to right, #f…

SQL基础使用

SQL的概述 SQL全称&#xff1a; Structured Query Language&#xff0c;结构化查询语言&#xff0c;用于访问和处理数据库的标准的计算机语言。 SQL语言1974年由Boyce和Chamberlin提出&#xff0c;并首先在IBM公司研制的关系数据库系统SystemR上实现。 经过多年发…

百度文心一言接入教程-Java版

原文链接 前言 前段时间由于种种原因我的AI BOT网站停运了数天&#xff0c;后来申请了百度的文心一言和阿里的通义千问开放接口&#xff0c;文心一言的接口很快就通过了&#xff0c;但是文心一言至今杳无音讯。文心一言通过审之后&#xff0c;很快将AI BOT的AI能力接入了文心…

Ansible单yaml文件部署Zabbix5.0监控平台

文章目录 Ansible单yaml文件部署Zabbix5.0监控平台节点规划案例实施基础环境准备编写剧本文件ZabbixWeb界面(1)改中文(2)添加监控主机 Ansible单yaml文件部署Zabbix5.0监控平台 节点规划 IP主机名节点192.168.200.10ansibleAnsible节点192.168.200.20zabbix-serverZabbix-ser…

5、Kubernetes核心技术 - Controller控制器工作负载

目录 一、Deployments - 控制器应用 二、Deployment升级回滚和弹性收缩 2.1、创建一个 1.14 版本的 pod 2.2、应用升级 2.3、查看升级状态 2.4、查看历史版本 2.5、应用回滚 2.6、弹性伸缩 三、StatefulSet - 有状态应用 四、DaemonSet - 守护进程 五、Job - 单次任…

使用低代码开发,需要注意哪些?

低代码平台的历史相对较短&#xff0c;大约始于 2000 年初&#xff0c;源于快速应用程序开发工具。随着低代码平台和工具的日益普及和优势&#xff0c;它不断发展以满足各种领域和角色的需求。 本文将研究各种低代码和无代码应用程序开发方法、业务用例、挑战和未来预测等。 一…

2022前端开发实习总结报告

2022前端开发实习总结报告1 一、顶岗实习目的 根据所学课程的理论知识&#xff0c;结合企业的运营实际&#xff0c;掌握软件开发的一般过程&#xff0c;软件的生命周期和作为一个开发人员就应具备的基本潜力&#xff0c;并撰写顶岗实习报告。使学生进一步巩固所学理论知识&am…

判断是否是二叉对称树(两种方法:递归+迭代)

给你一个二叉树的根节点 root &#xff0c; 检查它是否轴对称。 输入&#xff1a;root [1,2,2,3,4,4,3] 输出&#xff1a;true 源代码如下&#xff1a; //递归 class Solution { public:bool dfs(TreeNode* p,TreeNode* q){if(pnullptr && qnullptr) return true;//同…

redis的如何使用

1、redis的使用 1.1windows安装 安装包下载地址&#xff1a;Releases dmajkic/redis GitHub 1.2 redis中常使用的几个文件 1.3 redis中运行 双击redis-server&#xff0c;既可以运行。 1.4使用redis客户单来连接redis 1.5redis的常用指标 redis-serve 服务端,端口号&am…

【嵌入式学习笔记】嵌入式基础10——STM32时钟配置

1.认识时钟树 简单来说&#xff0c;时钟是具有周期性的脉冲信号&#xff0c;最常用的是占空比50%的方波 1.1.F1的时钟树 1.2.F4的时钟树(407为例) 1.3.F7的时钟树 1.4.H7的时钟树 2.配置系统时钟(F1为例) 2.1.系统时钟配置步骤 配置HSE VALUE&#xff1a;告诉HAL库外部晶振…

软件测试技能大赛任务二单元测试试题

任务二 单元测试 执行代码测试 本部分按照要求&#xff0c;执行单元测试&#xff0c;编写java应用程序&#xff0c;按照要求的覆盖方法设计测试数据&#xff0c;使用JUnit框架编写测试类对程序代码进行测试&#xff0c;对测试执行结果进行截图&#xff0c;将相关代码和相关截…