sap.ui.table

问题描述

例如,我有一个包含开始日期和结束日期的表。我怎么可能动态地(优化方式)设置InitialFocusedDateValue,以便用户每次打开日期选择器时,他选择的上一个日期将是Focused日期。

enter image description here

我已经尝试了以下方法,但是没有用:

  1. 调用导航事件来设置InitialFocusedDateValue,但是在呈现弹出窗口之后将调用它。因此,新的InitialFocusedDateValue不会在第一次点击时生效。
  2. 绑定>不可能,因为它需要Date对象。
  3. 向控件分配ID并通过ID调用>也不起作用。

我曾经考虑过遍历表,并在每次选择日期时将InitialFocusedDateValue分配给每个日期选择器聚合,但是显然这是一种糟糕的方法。希望有解决此问题的最佳方法

解决方法

如果您要根据上一行的结束日期为“开始日期”设置InitialFocusedDateValue:

  • 将onChange事件添加到DatePicker
  • 获取当前更改日期的值和行索引。
  • 检查是否有一个index + 1行,如果是,则获取内容(控件),并为InitialFocusedDateValue提供事件中的值。

如果您需要根据开始日期设置结束日期:

  • 向on Date DatePicker添加onChange事件
  • 获取事件回调中的值
  • 添加分配给它:event.getSource().getParent().getContent()[indexOfEndDateControl].setInitialFocusedDateValue(dateValue)