sap.ui.commons.Link在Binding中不起作用

时间:2014-06-16 02:02:50

标签: sapui5

当我尝试将此表的列绑定到json数据时,我有一个表。它可以在我的一个表格和其他表格中使用,但它不会显示任何内容。我检查了内容和获取json数据的方式,并且在所有表中都是完全相同的。

oTable.addColumn(new sap.ui.table.Column({
            label: new sap.ui.commons.Label({text: "Names"}), 
            template: 
                new sap.ui.commons.Link({
                text:"{name}",
                })
                }));

显示内容的表位于shell中,而其他表中没有显示任何内容位于sap.ui.ux3.ThingGroup内。我想知道我没有看到绑定的原因是不是因为ThingGroup?因为只要我将sap.ui.commons.Link更改为sap.ui.commons.TextView就行了。

我的代码的缩减版本是:

addLayerTable: function(){
    var jsonData1 = {
            "layers" : []
    };
    $.getJSON(URI, {}).done(function(data) {
        if(data.layers !== undefined){
            $.each(data.layers, function(i, field) {
                jsonData1.layers.push({
                    "name" : field
                });
            });
        }
        layerDetailPage(jsonData1);
    }).fail(function() {
        alert("Error while reading layers Data or layers do not exist");
    });

    var oTable = new sap.ui.table.Table({
        rows:{
            path:"/layers",
        },
         width: "900px",
         visibleRowCount: 10,
         navigationMode : sap.ui.table.NavigationMode.Paginator
    });  
    oTable.addColumn(new sap.ui.table.Column({
        label: new sap.ui.commons.Label({text: "Names"}), 
        template:
            new sap.ui.commons.Label({
            text:"{name}"
            }) 
            }));
    function layerDetailPage(layerData){
        var oModel = new sap.ui.model.json.JSONModel();
        oModel.setData(layerData);
        sap.ui.getCore().setModel(oModel, "layerModel");
        oTable.setModel(oModel);
    };
    var oFC1 = new sap.ui.ux3.ThingGroup();
    oFC1.addContent(oTable);
    return oFC1;
}

只要将sap.ui.commons.Label更改为TextView,名称就会变为可见。但此刻什么都没有。有趣的是,如果我在我的表中添加一个按功能,并尝试获取表中行的名称,虽然它不可见但它仍然有效。

0 个答案:

没有答案