动态表绑定

问题描述

请提出建议。表绑定不起作用。 模型数据,可能会更改:

​{ "TestCloudEnvRO": [ { "pipelineName": "RP1","cycles": [ "cy1","cycle1","RP1cy2","cyc2","crCycle" ] },{ "pipelineName": "RP2","cycles": [ "BP1-c2","bp2-cy" ] },{ "pipelineName": "RPlocal","cycles": [ "cyclelocal" ] },{ "pipelineName": "rp1234","cycles": [ "cyclert" ] },{ "pipelineName": "RPTEST","cycles": [ "BPTEST1" ] },{ "pipelineName": "rp123","cycles": [ "cytr" ] } ] }

查看

<Table id="idtrlAllPipelines" alternateRowColors="true">
                                            
                    <columns>
                        <Column demandPopin="true" minScreenWidth="Tablet">
                            <Text text="Release Pipeline Cycles"/>
                        </Column>
</columns>

控制器

var oTemplate = new sap.m.ColumnListItem({ cells: [ new sap.m.Text({ text: "{getHist>pipelineName}" }) ] }); this.byId("idtrlAllPipelines").setModel(oModelEnv,"getHist");

this.byId(“ idtrlAllPipelines”)。bindAggregation(“ items”,{路径:“ getHist> / TestCloudEnvRO”,模板:oTemplate,templateShareable:true});

它不会在表中加载任何项目。 但这适用于View。我必须使用“图标”选项卡过滤器的选定键将其替换为/ TestCloudEnvRO,因此上述内容应该可以使用。请提出建议。

<Table items="{path: 'getHist>/TestCloudEnvRO'}" id="idtrlAllPipelines" alternateRowColors="true">

解决方法

对于您建议的绑定,可能需要对数据集进行一些修改才能达到要求。 PFB代码。

控制器

    loadDataSet: function () {
        var oMasterModel = this.getView().getModel("oMasterModel");
        var oDataSet = [{
            "IconTabName": "Env1","Table": [{
                "name": "Person1","runs": ["10","20"]
            },{
                "name": "Person2","runs": ["0","2"]
            }]
        },{
            "IconTabName": "Env2","Table": [{
                "name": "Person3","runs": ["5","25"]
            },{
                "name": "Person4","runs": ["20","12"]
            }]
        }];
        oMasterModel.setData({
            allFilters: oDataSet
        });
        oMasterModel.refresh(true);
    }

查看

<IconTabBar items="{oMasterModel>/allFilters}">
                    <items>
                        <IconTabFilter text="{oMasterModel>IconTabName}">
                            <Table items="{oMasterModel>Table}">
                                <columns>
                                    <Column>
                                        <Label text="Name"/>
                                    </Column>
                                    <Column >
                                        <Label text="Runs"/>
                                    </Column>
                                </columns>
                                <items>
                                    <ColumnListItem>
                                        <cells>
                                            <Text text="{oMasterModel>name}"/>
                                            <Select items="{oMasterModel>runs}">
                                                <core:Item text="{oMasterModel>}"/>
                                            </Select>
                                        </cells>
                                    </ColumnListItem>
                                </items>
                            </Table>
                        </IconTabFilter>
                    </items>
                </IconTabBar>