行16,月份填写数值,要根据B16(都是向下扩展的内容)的取值,对1月--12月填写的数值进行限制:
实现步骤/思路:
1、将当前编辑的单元格的行号在“编辑前”填入一个固定单元格中
_g().on("cellselect", function(td) {
var rowNum = _g().curLGP.getTDRow(td) ; // 获取当前行号
_g().setCellValue("B7", null, "B"+rowNum); // 将行号赋值给B7 单元格
_g().setCellValue("G7", null, "J"+rowNum); // 将行号赋值给G7 单元格
});
2、在动态取值的时候(“编辑结束”,校验填写数值时)根据步骤一中的固定单元格的内容,获取动态单元格的值
var valueI1 = contentPane.getCellValue("B7");
var valueH1 = contentPane.getCellValue("G7");
var valueB16 = contentPane.getCellValue(valueI1);
var valueJ16 = parseFloat(contentPane.getCellValue(valueH1));
3、用if来判断验证条件,如果填写数值不在要求的范围内,将该填写内容置空
if ( valueJ16 > 3 && valueB16 == '30600') {
contentPane.setCellValue(valueH1, ""); // 清空 J16 的值
FR.Msg.alert("错误", "邮费不能大于3"); // 弹出提示框
}
else if (valueJ16 > 2 && valueB16 === '30400') {
contentPane.setCellValue(valueH1, "");
FR.Msg.alert("错误", "运费不能大于2");
}
这活干了两次,一次至少一天。
第一次好不容易调出来了,没有额外备份、总结,因为做其他调整,把之前的校验处理内容删除掉了。
今天又整整干了一天,赶紧本地保存一份,另外也做了总结,发上来跟大家分享一下。 |