SAPUI5下拉列表数据绑定

时间:2016-03-14 13:19:14

标签: sapui5

我正在尝试使用成功因素中提取的员工名称填充下拉列表,但我无法正确显示响应。我可以显示managerId和userId没有问题,只是不是名字和姓氏。

以下是回复:

{
    "d": {
        "results": [{
                    "__metadata": {
                        "uri": "https://apisalesdemo8.successfactors.com:443/odata/v2/EmpJob(seqNumber=1L,startDate=datetime'2010-02-01T00:00:00',userId='spappar1')",
                        "type": "SFOData.EmpJob"
                    },
                    "userId": "spappar1",
                    "managerId": "rmaxx1",
                    "employmentNav": {
                        "__metadata": {
                            "uri": "https://apisalesdemo8.successfactors.com:443/odata/v2/EmpEmployment(personIdExternal='spappar1',userId='spappar1')",
                            "type": "SFOData.EmpEmployment"
                        },
                        "personNav": {
                            "__metadata": {
                                "uri": "https://apisalesdemo8.successfactors.com:443/odata/v2/PerPerson('spappar1')",
                                "type": "SFOData.PerPerson"
                            },
                            "personalInfoNav": {
                                "results": [{
                                    "__metadata": {
                                        "uri": "https://apisalesdemo8.successfactors.com:443/odata/v2/PerPersonal(personIdExternal='spappar1',startDate=datetime'1990-01-01T00:00:00')",
                                        "type": "SFOData.PerPersonal"
                                    },
                                    "lastName": "Pappar",
                                    "firstName": "Steve"
                                }]
                            }

以下是下拉列表的数据绑定:

var employeeTemplate = new sap.ui.core.ListItem({
    text: "{employeeDropDownModel/employmentNav/personNav/personalInfoNav/results>firstName} {employeeDropDownModel/employmentNav/personNav/personalInfoNav/results>lastName}"
});
sap.ui.getCore().getElementById('employeeId').bindItems("employeeDropDownModel>/d/results", employeeTemplate);

任何帮助都会很棒,我尝试了许多不同的组合来使绑定工作,但无济于事。

2 个答案:

答案 0 :(得分:0)


           你能提供整个UI流程的jsbin吗?从我的经验中立刻感到震惊的一件事是你正在尝试一个复杂的绑定,你的index.html应该有以下内容

**data-sap-ui-xx-bindingSyntax="complex"**

如果这不能解决,你能提供一个jsbin示例吗?

谢谢和问候,
威拉

答案 1 :(得分:0)

感谢各位意见和建议,我尝试了很多不同的方式:

libGL.so

这些都没有用,我的index.html中确实有 data-sap-ui-xx-bindingSyntax =“complex”

所以我最终做的是以通常的方式绑定模型,然后将模型中的名字和姓氏移动到与userId和managerId相同的级别:

/usr/lib/nvidia-352

这很好地解决了我的问题。我不确定这是否是一个非常好的解决方案,但它对我有用。

再次感谢