一、复选框设置
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("请勿重复!");
}
}