根据sap ui5表格控件中的条件显示图像

时间:2017-04-16 17:23:48

标签: json data-binding sap sapui5

我必须在表格列中显示一个图像,该图片包含在json模型中的值, 例如,如果model> data = 1,则'1.png'应该出现在该行中,

图像的名称来自json数据和扩展,我必须进行硬编码。

请给我一些建议,我是新来的傻瓜。

提前致谢。

2 个答案:

答案 0 :(得分:0)

XML代码

<ObjectStatus icon="{path: 'Status', formatter: '.status'}"/>

这将是格式化程序代码

sap.ui.define([],function(){     &#34;使用严格的&#34 ;;

var Formatter = {

    status: function(Status) {
        if (Status === "0") {
            return "sap-icon://accept"; // use your png image here 
        } else if (Status === "1") {
            return "sap-icon://decline";
        } else if (Status === "2") {
            return "sap-icon://add";
        }
    }

};
return Formatter;

},TRUE);

答案 1 :(得分:0)

您还可以在XML视图中的对象属性中使用格式化程序而不是格式化程序:

<ObjectStatus text="{users-deploy>role-xus}" class="bold"
                    tooltip="{= !${users-deploy>role-xus-authorized} ? ${i18n>roleNotAuthorized} : !${users-deploy>role-xus-exist} ? ${i18n>roleNotExist} : ${i18n>OK}}"
                    state="{= !${users-deploy>role-xus-authorized} ? 'Error' : !${users-deploy>role-xus-exist} ? 'Warning' : 'Success'}"
                    icon="{= ${users-deploy>role-xus} ==='' ? '' :  !${users-deploy>role-xus-authorized} ? 'sap-icon://status-error' : !${users-deploy>role-xus-exist} ? 'sap-icon://status-inactive' : 'sap-icon://status-positive'}" />

在上面的例子中,我有一个模型名称“users-deploy”,根据当前对象的值,我需要更改颜色,图标和工具提示。我发现它对我来说这种方式很好,但它可能不是更优化的方法。