带有上下文绑定的表

时间:2018-07-17 21:12:57

标签: sapui5

我是SAP的一名实习生,并且在SAPUI5中对XML视图中的表进行上下文绑定时遇到了一些问题。

因此,我试图在SAPUI5中的XML视图中创建一个对话框面板,这样,如果我单击表中的一行,则应该在其上方显示一个单独的弹出窗口/面板,并显示有关我单击的产品的更多信息在

我可以通过以下方式使用javascript

            var details = new sap.m.Panel("details",{
            headerText: "This is the {name}",
            visible: false,
            content: [
                new sap.m.Table({
                alternateRowColors: true,
                fixedLayout: false,
                sticky: sap.m.Sticky.ColumnHeaders,
                columns:[
                    new sap.m.Column({
                        header : new sap.m.Label({
                            text : "This is the Number of failed Tests: {coverage}"
                        })
                    }),
                    new sap.m.Column({
                        header : new sap.m.Label({
                            text : "This is the Number of Bugs: {unitTestCoverage}"
                        })
                    }),
                    new sap.m.Column({
                        header : new sap.m.Label({
                            text : "This is the P/F ratio: {unitFirstCoverage}"
                        })
                    })
                    ]})
//                  dataTable
            ]
        });

在XML中,我的详细信息面板为:

            <!--Details Panel!-->
            <Panel id= "details" 
            headerText= "This is the {data>name}" 
            visible= "false">
                <content>
                    <Table>
                        <columns>
                            <Column>
                                <header>
                                <Label text="This is the Number of failed Tests: {data>coverage}" />
                                </header>
                            </Column>
                            <Column>
                                <Label text="This is the Number of Bugs: {data>unitTestCoverage}" />
                            </Column>
                            <Column>
                                <Label text="This is the P/F ratio: {data>unitFirstCoverage}" />
                            </Column>
                        </columns>
                        <items>

                        </items>
                    </Table>
                </content>
            </Panel>

我正在使用以下代码段调用XML中的行:

            ............
            <items>
                <ColumnListItem
                press= "onItemSelected"
                type= "Active">
                    <cells>
             .........

通过控制器上下文将其绑定:

onItemSelected: function(oEvent) {
    var oSelectedItem = oEvent.getSource();
    var sPath = oSelectedItem.getBindingContextPath();
    var oProductDetailPanel = this.byId("details");

    oProductDetailPanel.bindElement({ path: sPath });
    this.byId("details").setVisible(true); 
},

我怀疑我尝试如何在XML的详细信息面板中调用数据以及如何在最后绑定数据时出错

1 个答案:

答案 0 :(得分:0)

尝试一下。

var sPath = oSelectedItem.getBindingContextPath()

使用

var sPath = oSelectedItem.getBindingContext('data').getPath()

旁边:

oProductDetailPanel.bindElement({ path: 'data>' + sPath });