SAPUI5中select的值

时间:2016-03-29 10:02:52

标签: sapui5

我在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

4 个答案:

答案 0 :(得分:1)

我现在找到了解决方案。

我认为<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);添加到模型中,它运行正常。

答案 1 :(得分:0)

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

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

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

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:-1)

这里一旦您在 SelectionInputType.COMBOBOX 中设置了 selectedKey 属性,您就可以取如下值。

oController = this; var view = oController.getView(); var oModel = view.getModel(); var data = oModel.getData();