textview - SAPUI5 oTable 一行作为链接,其他作为 TextView

标签 textview sapui5 rows

目前我有一个 sapui 表,我希望其中一行是链接,所有其他行应该是 TextView 。我的问题是,构建表是基于列:

oTable.addColumn(new sap.ui.table.Column({
    label : new sap.ui.commons.Label({
        text : "Berichtsmonat",
        hAlign : sap.ui.core.HorizontalAlign.Center,
    }),
    template : new sap.ui.commons.Link({ // <-- this should only be valid
                 // for one row, others should be
                 // new sap.ui.commons.TextView
        text : "{Text01}",
        press : pressListOpen, 
    }),
    width : '120px',
    hAlign : sap.ui.core.HorizontalAlign.Center,
}));

稍后定义所有列后..

oTable.bindRows("/GetXYZ");

所以,我无法将其切换为一行。我该怎么做?这可能吗?

我想我必须以另一种方式创建表格,但是如何呢?非常感谢代码示例如何解决问题或如何为我的工作正确构建表格...

最佳答案

一种解决方案是将模板定义为 Horizo​​ntalLayout。向现有数据模型添加其他可见性标志,例如如下 VisibleFlagForTextVisibleFlagForLink (VisibleFlagForText == !VisibleFlagForLink) 。

var oText = new sap.ui.commons.TextView({
    text:"{Text01}", 
    visible : "{VisibleFlagForText}"
});

var oLink = new sap.ui.commons.Link({ 
    text : "{Text01}",
    press : pressListOpen, 
    visible : "{VisibleFlagForLink}"
});

var oLayout = new sap.ui.layout.HorizontalLayout("Layout1",{content: [oText, oLink ]});

oTable.addColumn(new sap.ui.table.Column({
    label : new sap.ui.commons.Label({
        text : "Berichtsmonat",
        hAlign : sap.ui.core.HorizontalAlign.Center,
    }),
    template : oLayout,
    width : '120px',
    hAlign : sap.ui.core.HorizontalAlign.Center,
}));

然后,您可以更新单行数据模型的可见性标志,以设置链接可见或 TextView 可见。

关于textview - SAPUI5 oTable 一行作为链接,其他作为 TextView ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25802498/

相关文章:

java - 在 textView 中添加来自另一个类的整数

Android在文本周围画圈

css - 如何使用 SAPUI5 更改表中 td 的样式类

sql-server - 有没有办法从命令行抑制 SQLCMD 中的 "x rows affected"?

安卓开发: How To Keep Text When Orientation Changes?

sapui5 - 如何在 sapui5 的 sap.m.Table 中启用滚动?

javascript - SAPUI5 oDataModel setDeferredGroups 自动触发请求

mysql - substring_index函数不存在错误

mysql - 选择字段与数千个字符串之一匹配的行

android - Listview Textview 删除线