我正在设计一个表格,其中包含填充数据的不同列,从SAP OData后端到textviews。
TextView
的设计和semanticColor属性是作为字符串接收的值。但是加载失败并显示错误消息:“以下列方式绑定后,字符串XY不能被解释为设计”//“..是语义颜色”..
oTable.addColumn(new sap.ui.table.Column({
template : new sap.ui.commons.TextView({
text : "{MyBackendElement}",
textAlign : sap.ui.core.TextAlign.Center,
design : "{Class}",
semanticColor : "{FontClass},
}),
visible : true,
}));
如果我直接输入设计和语义颜色,一切正常,但我如何从我的服务中做到这一点?它需要哪种数据类型?是否可以将括号{}中定义的字符串转换为设计和语义颜色
oTable.addColumn(new sap.ui.table.Column({
template : new sap.ui.commons.TextView({
text : "{MyBackendElement}",
textAlign : sap.ui.core.TextAlign.Center,
design : sap.ui.commons.TextViewDesign.Bold,
semanticColor : sap.ui.commons.TextViewColor.Critical,
}),
visible : true,
}));
答案 0 :(得分:1)
答案部分在于您的问题本身,属性design
和semanticColor
只接受sap.ui.commons.TextViewDesign
和sap.ui.commons.TextViewColor
类型的值。
然而,就像你的情况一样,你会绑定"字符串"对于这些属性,您需要确保字符串相同,作为可接受类型的可能值列表的最后一个单词。
例如,
sap.ui.commons.TextViewDesign
接受
等等。因此,您需要引入" Bold"或者"斜体"从您的OData并将其绑定到属性。 sap.ui.commons.TextViewColor
在您的代码段中,
oTable.addColumn(new sap.ui.table.Column({
template : new sap.ui.commons.TextView({
text : "{MyBackendElement}",
textAlign : sap.ui.core.TextAlign.Center,
design : "{Class}",
semanticColor : "{FontClass},
}),
visible : true,
}));
'级'会有价值观" Bold"," Italic" ...和' FontClass'会有"严重","默认" ...
的允许值列表