首页 文章

SAPUI5中select的值

提问于
浏览
-1

我在xml视图中的表中有以下选择 .

表:

<Table id="variables" 
                  rows="{
                    path: 'modelname>/ZDATSet'
                }">
...

选择:

<m:Select
          selectedKey="{modelname>Datetype}"
          items="{
                path: 'modelname>/ZTYPESet'
          }">
          <core:Item key="{modelname>Datetype}" text="modelname>Datetypetxt}" />
</m:Select>

此外,我在表格的另一行中有一个按钮 . 在按下功能中,我想读取当前选择的选择键 .

如果我试试

var button = oEvent.getSource();
var context = button.getBindingContext("modelname");
var datetype = context.getProperty("Datetype");

我只获得预选值,但不是用户输入的变化 . (行中文本输入的问题相同)

我已经将 data-sap-ui-xx-bindingSyntax="complex" 放在index.html中

enter image description here

3 回答

  • 0

    我现在找到了解决方案 .

    我认为 <script src="https://sapui5.hana.ondemand.com/resources/sap-ui-core.js" data-sap-ui-xx-bindingSyntax="complex" ... 应该足以进行默认的双向绑定 .

    现在我将 oModel.setDefaultBindingMode(sap.ui.model.BindingMode.TwoWay); 添加到模型中,它工作正常 .

  • 0

    如果您的按钮位于同一行,您可以在其新闻事件中执行以下操作:

    onPress:function(oEvent){
      var button = oEvent.getSource();
      var context = button.getBindingContext("modelname"); //Points to the current row
      var datetype = context.getProperty("DateType");    
      ...
    }
    

    如果按钮位于表格之外,则必须提供更多详细信息:您使用的是哪个表格以及如何配置,是否要读取当前所选行中选择框的值?添加更多代码!

  • 1

    根据您的代码段,您使用模型绑定来设置选择项和所选键 .

    在Button按下处理程序中,您可以从绑定上下文中获取当前值:

    onPress: function (oEvent) {
        oEvent.getSource().getBindingContext("modelname").getProperty("Datetype");
    }
    

相关问题