SAPUI5-如何在同一视图中更改表?

SAPUI5-如何在同一视图中更改表?,sapui5,sap-fiori,Sapui5,Sap Fiori,情况: 2个不同的表格,1个视图 希望实现: 在select中更改SELECTED键时,我必须更改表格 我已经尝试为每个表创建片段,并在更改select时调用所需的片段 片段1-表1 片段2-表2 选择-oEvent(onChangeSelect)-getSelectedKey-if(key==1)-调用fragment1,if(key==2)-调用fragment2,但它会给我一个错误 我不知道这是否正确,我也没有在网上找到任何相关信息。 如果有人能显示一些链接或给我一个如何做到这一点

情况:

  • 2个不同的表格,1个视图
希望实现:

  • 在select中更改SELECTED键时,我必须更改表格
我已经尝试为每个表创建片段,并在更改select时调用所需的片段

片段1-表1 片段2-表2

选择-oEvent(onChangeSelect)-getSelectedKey-if(key==1)-调用fragment1,if(key==2)-调用fragment2,但它会给我一个错误

我不知道这是否正确,我也没有在网上找到任何相关信息。
如果有人能显示一些链接或给我一个如何做到这一点的想法,那将是完美的。

您可以使用绑定的概念来实现这一点,而无需编码。假设你的观点是这样的:


首先,向应用程序添加一个模型,该模型将包含有关应用程序状态的信息(哪些片段当前可见)。最简单的方法是从一个空的JSON模型开始。如果您熟悉
manifest.json
config,请将其添加到那里。如果没有,您可以将其添加到组件
init
方法中:

this.setModel(新的JSONModel(),“config”);
这样,新的空模型就可以在应用程序的所有视图中的名称
“config”
下使用

现在,我们将添加一个可见性标志,它将控制片段(表)的可见性,并且可以通过选择:


此新版本将在配置模型中的路径
/selectedFragment
中存储所选项目的键。向片段(表)添加可见性标志:


你完成了


这里的主要课程:学习使用绑定。

如果我正确理解了问题,那么视图中有一个选择控件(有两个条目)和一个表。根据选择项,您希望在任何给定时间点显示其中一个表。我在这里还假设,这些表纯粹是在当前视图中使用的&而不是真正的“可重用”的东西——它在应用程序的不同位置使用(这会使片段的使用变得过分)

我假设,这两个表都是绑定的(尽管绑定到不同的数据集)

在这种情况下,考虑使用适当表的“可见”属性为“false”。

请记住—所有UI组件,包括表,都继承自sap.UI.core.Control,它具有“visible”属性

在表的API参考中:

如果向下滚动到“借用自:”部分,您将看到“setVisible”和“getVisibe”方法

因此,在选择更改期间触发的事件中,您可以获取表控件并使用上述方法设置可见性

或者,您也可以直接在XML中的表控件上设置表达式绑定,其计算结果为“true”或“false”(可能使用格式化程序)

如果你需要进一步的信息,请告诉我

致以最良好的祝愿,
Gopal Nair.

您还可以将表包装在视图中,并利用
sap.uxap.BlockBase
以便按需加载第二个表和数据。从…看。