代码之家  ›  专栏  ›  技术社区  ›  THI

UI5表中的条件列值

  •  0
  • THI  · 技术社区  · 7 年前

    表中有一列的值绑定到数据模型的属性。 text = { modelName>/OrderNo} .如何根据标志设置条件?来自模型的if属性 isReturnable = true ,我想展示 text = {modelName>/ReturnNo} 否则我想展示 {OrderNo} .如何为它构建语法?

    <table:Column>
    <Label class="smartist-table-column-header" text="Qty Returned"/>
    <table:template>
    <Text text="{ path: 'OrderDetail>OrderNo'}"/>
    </table:template>
    </table:Column>  
    
    2 回复  |  直到 6 年前
        1
  •  4
  •   Boghyon Hoffmann    6 年前

    你可以用 表达式绑定 . 有关详细信息,请参阅URL: https://ui5.sap.com/#/topic/daf6852a04b44d118963968a1239d2c0

    解决问题的方法:

    <Text text="{= ${modelName>isReturnable} ? ${modelName>/ReturnNo} : ${OrderDetail>OrderNo}}" />
    
        2
  •  1
  •   Nandan Chaturvedi    7 年前

    因为表达式绑定是解决这个问题的更合适的方法, 自定义格式也可以是实现此目的的一种方法。

    在视图中:

    <Text text= "{      parts:[
                            {path: "modelName>isReturnable"},
                            {path: "modelName>ReturnNo"},
                            {path: "modelName>OrderNo"}, 
    
                         ],                        
    
                        formatter: '.formatOrderNo'
                }"/>
    

    在相应的控制器中

    formatter: function(isReturnable, sReturnNo, sOrderNo){ 
    
           if(isReturnable == true){
               return sReturnNo;
           }else{
               return OrderNo;
           }
    
    }
    

    如果逻辑更复杂,需要在绑定前对字段执行一些计算/操作,那么可以使用自定义格式。 Custom Formatters in SAPUI5