目前我有一个 sapui 表,我希望其中一行是链接,所有其他行应该是文本视图。我的问题是,构建表是基于列:
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");
因此,我无法将其切换为一行。我该怎么做?是否可以?
我想我必须以另一种方式创建表格,但是如何呢?非常感谢代码示例如何解决问题或如何为我的工作正确构建表格......
一种解决方案是将模板定义为HorizontalLayout
。向现有数据模型添加额外的可见性标志,例如如下VisibleFlagForText
and VisibleFlagForLink
(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,
}));
然后,您可以更新单行数据模型的可见性标志,以设置链接可见或文本视图可见。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)