SAPUI5 - 聚合绑定类型中的表达式绑定 [英] SAPUI5 - Expression binding in Aggregation binding Type

查看:33
本文介绍了SAPUI5 - 聚合绑定类型中的表达式绑定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以在聚合类型绑定中使用表达式绑定.我有一个表格,表格中的每一行都有一个带有 sap.m.Select 控件的列.我想根据行的属性将每一行中的选择控件与不同的项目绑定.

Is it possible to use expression binding in Aggregation type binding. I have a table and each row in the table has a column that has a sap.m.Select control. I want to bind the select control in each row with different items based on a property of the row.

以下是我的示例:

<Table headerText="Dimensions/Measures" mode="MultiSelect" includeItemInSelection="true" items="{path: 'dataModel>/Fields'}">
  <columns>
    <Column hAlign="Center" vAlign="Center" visible="true">
      <header>
        <Label text="Dimensions/Measures" />
      </header>
    </Column>
    <Column hAlign="Center" vAlign="Center" visible="true">
      <header>
        <Label text="Type" />
      </header>
    </Column>
    <Column hAlign="Center" vAlign="Center" visible="true">
      <header>
        <Label text="Role" />
      </header>
    </Column>
  </columns>
  <ColumnListItem>
    <Text text="{dataModel>Fieldname}" />
    <Text text="{= ${dataModel>Aggr_Oper} !== null ? 'Measure' : 'Dimension'}" />
    <Select items="{= ${path: 'dataModel>Aggr_Oper'} !== null ? ${dataModel>/chartConfigData/dimData}: ${dataModel>/chartConfigData/measData}}">
      <core:Item key="{dataModel>key}" text="{dataModel>text}" />
    </Select>
  </ColumnListItem>
</Table>

我的数据模型如下所示:

My Data Model looks as below:

{
   "Fields":[
      {
         "AppID":"RP_PROP",
         "AppVariantID":"PropListVariantDemo",
         "Fieldname":"PropertyID",
         "FieldDescription":"PropertyID",
         "Aggr_Oper":null,
         "Filterable":null,
         "Visible":"true",
         "Filter_Val":null,
         "DisplayOrder":1,
         "FieldGroup":null,
         "SubTotal":null,
         "FieldType":null,
         "Sortable":"true",
         "Sort_Op":"ASC",
         "Sort_Order":1,
         "ChartRole":null,
         "BusinessEntity":"BRS"
      },
      {
         "AppID":"RP_PROP",
         "AppVariantID":"PropListVariantDemo",
         "Fieldname":"Description",
         "FieldDescription":"Description",
         "Aggr_Oper":null,
         "Filterable":null,
         "Visible":"true",
         "Filter_Val":null,
         "DisplayOrder":2,
         "FieldGroup":null,
         "SubTotal":null,
         "FieldType":null,
         "Sortable":"true",
         "Sort_Op":null,
         "Sort_Order":null,
         "ChartRole":null,
         "BusinessEntity":"BRS"
      },
      {
         "AppID":"RP_PROP",
         "AppVariantID":"PropListVariantDemo",
         "Fieldname":"PropertyTypeID",
         "FieldDescription":"PropertyTypeID",
         "Aggr_Oper":null,
         "Filterable":null,
         "Visible":"true",
         "Filter_Val":null,
         "DisplayOrder":3,
         "FieldGroup":null,
         "SubTotal":null,
         "FieldType":null,
         "Sortable":"true",
         "Sort_Op":null,
         "Sort_Order":null,
         "ChartRole":null,
         "BusinessEntity":"BRS"
      },
      {
         "AppID":"RP_PROP",
         "AppVariantID":"PropListVariantDemo",
         "Fieldname":"PropertyType",
         "FieldDescription":"PropertyType",
         "Aggr_Oper":null,
         "Filterable":null,
         "Visible":"true",
         "Filter_Val":null,
         "DisplayOrder":4,
         "FieldGroup":null,
         "SubTotal":null,
         "FieldType":null,
         "Sortable":null,
         "Sort_Op":null,
         "Sort_Order":null,
         "ChartRole":null,
         "BusinessEntity":"BRS"
      },
      {
         "AppID":"RP_PROP",
         "AppVariantID":"PropListVariantDemo",
         "Fieldname":"RegionID",
         "FieldDescription":"RegionID",
         "Aggr_Oper":null,
         "Filterable":null,
         "Visible":"true",
         "Filter_Val":null,
         "DisplayOrder":5,
         "FieldGroup":null,
         "SubTotal":null,
         "FieldType":null,
         "Sortable":null,
         "Sort_Op":null,
         "Sort_Order":null,
         "ChartRole":null,
         "BusinessEntity":"BRS"
      },
      {
         "AppID":"RP_PROP",
         "AppVariantID":"PropListVariantDemo",
         "Fieldname":"RegionDescription",
         "FieldDescription":"RegionDescription",
         "Aggr_Oper":null,
         "Filterable":null,
         "Visible":"true",
         "Filter_Val":null,
         "DisplayOrder":6,
         "FieldGroup":null,
         "SubTotal":null,
         "FieldType":null,
         "Sortable":null,
         "Sort_Op":null,
         "Sort_Order":null,
         "ChartRole":null,
         "BusinessEntity":"BRS"
      }
   ],
   "chartConfigData":{
      "dimData":[
         {
            "key":"val1",
            "text":"val1"
         },
         {
            "key":"val2",
            "text":"val2"
         }
      ],
      "measData":[
         {
            "key":"val3",
            "text":"val3"
         },
         {
            "key":"val4",
            "text":"val4"
         }
      ]
   }
}

推荐答案

不,动态绑定路径是不可能的.但是,有一些可能的解决方法:

No, dynamic binding paths are not possible. There are some possible workarounds however:

  • 您可以处理您的模型数据并将对适当的选择项目列表的引用添加到每一行.在选择字段绑定中使用该引用的相对绑定路径.

  • You can process your model data and add a reference to the appropriate select items list to each row. Use a relative binding path to that reference in your select fields binding.

您可以使用工厂函数创建表格的行.您可以将行模板设为 dependant 到您的表并克隆它并为工厂函数中的每一行配置选择绑定

You can use a factory function to create the rows of your table. You can put your row template as dependant to your table and clone it and configure the selects binding for each row in the factory function

您可以通过绑定 visible 选择的属性.

You can add multiple selects with different bindings to your table and hide all but one in each row by binding the visible properties of the selects.

这篇关于SAPUI5 - 聚合绑定类型中的表达式绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆