Javascript sap.ui.table上的SAPUI5日期选择器动态初始值FocusedDateValue

Javascript sap.ui.table上的SAPUI5日期选择器动态初始值FocusedDateValue,javascript,sapui5,Javascript,Sapui5,例如,我有一个由开始日期和结束日期组成的表。我如何可能动态(优化方式)设置InitialFocusedDateValue,以便用户每次打开日期选择器时,他选择的上一个日期将成为焦点日期 我已经尝试过以下方法,但都不起作用: 调用navigate事件以设置InitialFocusedDateValue,但这是在弹出窗口呈现后调用的。因此,新的InitialFocusedDateValue不会在第一次单击时生效 绑定>不可能,因为它需要日期对象 为控件分配Id并通过Id>调用也不起作用 我曾想过在

例如,我有一个由开始日期和结束日期组成的表。我如何可能动态(优化方式)设置InitialFocusedDateValue,以便用户每次打开日期选择器时,他选择的上一个日期将成为焦点日期

我已经尝试过以下方法,但都不起作用:

  • 调用navigate事件以设置InitialFocusedDateValue,但这是在弹出窗口呈现后调用的。因此,新的InitialFocusedDateValue不会在第一次单击时生效
  • 绑定>不可能,因为它需要日期对象
  • 为控件分配Id并通过Id>调用也不起作用

  • 我曾想过在表中循环,每次选择日期时都为每个datepicker聚合分配InitialFocusedDateValue,但显然这是一种糟糕的方法。希望有一个最佳的解决方法。

    如果要根据前一行的结束日期设置起始日期的InitialFocusedDateValue:

    • 将onChange事件添加到日期选择器
    • 获取当前更改日期的值和行索引
    • 检查是否有索引+1行,如果是,则获取内容(控件)并为InitialFocusedDateValue提供事件中的值
    如果需要根据开始日期设置结束日期:

    • 将onChange事件添加到开始日期日期选择器
    • 获取事件回调中的值
    • 添加并分配它:
      event.getSource().getParent().getContent()[indexOfEndDateControl].setInitialFocusedDateValue(dateValue)

    如果当前行超出可见行计数,则第一种方案将不起作用,因为getIndex将返回实际行索引。所以,如果我在第35行,并选中table.getRows[](35),它将返回undefined,因为我只有10个可见行计数。