怎么设置‘若要填写一个单元格的日期,必须先填写另一个单元格的日期,不然提示出错,或者不让填’?

怎么设置‘若要填写一个单元格的日期,必须先填写另一个单元格的日期,不然提示出错,或者不让填’,然后,如何‘如果第一个单元格的填了,另一个单元格可以立刻接着填?’

请问能具体点吗?

FineReport GraceFuF 发布于 2022-11-11 11:54 (编辑于 2022-11-11 18:36)
1min目标场景问卷 立即参与
回答问题
悬赏:3 F币 + 添加悬赏
提示:增加悬赏、完善问题、追问等操作,可使您的问题被置顶,并向所有关注者发送通知
共5回答
最佳回答
0
Z4u3z1Lv6专家互助
发布于2022-11-11 12:42(编辑于 2022-11-16 11:25)
  • GraceFuF GraceFuF(提问者) 在需要先填的单元格上增加两个事件 : (1)初始化事件 (2)编辑后事件 都加上: var location = this.options.location; //获取当前控件的位置得到一个单元格的地址 var cr = FR.cellStr2ColumnRow(location); //把单元格地址传入后就得到一个控件对象了 var col = cr.col; //获取控件对象的列号 var ro = cr.row; //获取控件对象的行号 var c = contentPane.getWidgetByCell(FR.columnRow2CellStr({ col: col + 1 row: ro })); //后面一列控//件 var b = this.getValue(); var blen=b.length; if (blen!=0) { c.setVisible(true); } //可用 else { c.setVisible(false); //不可用 } 注意:若是只写初始化事件,先填写需要首先填的单元格的话,第二个单元格永远填不了了; 若是只写编辑后事件,第二个单元格一开始就能填,只有把第一个单元格填上再删除了,才不能填; 这些是在填报预览报表插入一行的行为上进行的; 两个事件都加上,也需要鼠标光标经过第一个单元格并且不填,第二个才不能填,若是一开始鼠标光标没有经过第一个单元格,第二个单元格还是能填。
    2022-11-11 21:29 
  • Z4u3z1 Z4u3z1 回复 GraceFuF(提问者) 没这么麻烦,你只需要把第二个控件默认为不可用就行了
    2022-11-14 08:52 
  • GraceFuF GraceFuF(提问者) 回复 Z4u3z1 我这个报表有多个单元格需要设置,设置‘不可用’了,就需要提交以后才能填第二个,只能每填一个日期就提交一次
    2022-11-16 11:21 
  • Z4u3z1 Z4u3z1 回复 GraceFuF(提问者) 复杂了吧。你把后面需要判断的控件全设置成不可见、不可用。然后在JS里面判断值再setVisible,setEnable
    2022-11-16 11:27 
最佳回答
0
six28Lv5初级互助
发布于2022-11-11 12:01

在第一个单元格写JS,第一单元格为空时,第二个单元的状态为false

最佳回答
0
用户k6280494Lv6资深互助
发布于2022-11-11 12:02(编辑于 2022-11-11 12:03)

条件属性-控件

image.png

  • GraceFuF GraceFuF(提问者) 可以,但是提交了以后重新查询才可以填第二个,有没有填完了第一个后,接着就可以填第二个的?
    2022-11-11 16:46 
最佳回答
0
黄源Lv6中级互助
发布于2022-11-11 16:53(编辑于 2022-11-11 16:54)

第二个单元格默认不可用,第一个单元格编辑后事件 判断第一个单元格不为空后设置第二个单元格可用

if (this.getValue() != "" ) {

_g().getWidgetByCell("E9").setEnable(true)

}

最佳回答
0
GraceFuFLv3见习互助
发布于2022-11-11 21:29(编辑于 2022-11-16 11:14)
  • 2关注人数
  • 597浏览人数
  • 最后回答于:2022-11-16 11:25
    请选择关闭问题的原因
    确定 取消
    返回顶部