表格替代颜色suggested in the dev guide不起作用。
#salesarea tbody tr:nth-child(even) {
background: rgb(245, 245, 245);
}
即使我使用sap.m.Table的ID,CSS也不起作用!
编辑添加代码: 我正在使用xml / desktop版本,视图在shell中。
<Table
id="qcTable"
inset="false"
>
<columns>
<Column
hAlign="Center"
popinDisplay="Inline"
width="10%"
>
<header>
<Label text="Col 1"/>
</header>
</Column>
<Column
hAlign="Center"
popinDisplay = "Inline"
>
<header>
<Label text="Col2"/>
</header>
</Column>
</columns>
</Table>
//using generated id during runtime
#viewCQ--qcTable-tblBody tbody tr:nth-child(even) {
background: rgb(245, 245, 245) !important;
}
//using direct id of table
#viewCQ tbody tr:nth-child(even) {
background: rgb(245, 245, 245) !important;
}
//using class of table
.viewCQ tbody tr:nth-child(even) {
background: rgb(245, 245, 245) !important;
}
答案 0 :(得分:2)
<强> viewCQ - qcTable-listUl 强>
不是
viewCQ--qcTable-tblBody.
无论如何,感谢所有快速反应的人。 tnx再次。
答案 1 :(得分:1)
这种方法确实有效。您需要确保CSS选择器指向正确的位置。这是一个示例(在StackOverflow片段中):
new sap.m.Table("salesarea", {
columns : [
new sap.m.Column({
header : new sap.m.Text({text: "Place"})
})
],
items: {
path: "/places",
template: new sap.m.ColumnListItem({
cells : [
new sap.m.Text({text: "{name}"})
]
})
}
})
.setModel(new sap.ui.model.json.JSONModel({
places: [
{ name: "Manchester" },
{ name: "Liverpool" },
{ name: "Leeds" },
{ name: "Sheffield" }
]
}))
.placeAt("content");
&#13;
#salesarea tbody tr:nth-child(even) {
background: rgb(245, 245, 245);
}
&#13;
<script src="https://openui5.hana.ondemand.com/resources/sap-ui-core.js" id="sap-ui-bootstrap" data-sap-ui-libs="sap.m" data-sap-ui-theme="sap_bluecrystal"></script>
<div id="content"></div>
&#13;
答案 2 :(得分:1)
您是否在(声明性)视图中使用了表格?然后ID将作为前缀以保证唯一性。
您可能希望使用oTable.addStyleClass("mySalesTable");
将CSS类分配给此表实例,而不是依赖于ID。然后你可以确定这个类将在HTML中,并将其用于样式:
.mySalesTable tbody tr:nth-child(even) {
background: rgb(245, 245, 245);
}
如果这不起作用,请检查浏览器的开发人员工具1.是否实际应用此规则,以及2.是否由其他规则编写。
答案 3 :(得分:1)
我们可以使用sap.m.ObjectStatus
代替使用Css属性来提供颜色 var iDtemplate = new sap.m.ColumnListItem("idTemplate",{
type: "Navigation",
visible: true,
selected: true,
cells:[
new sap.m.ObjectStatus({
text:"{SlNo}",
}).bindProperty("state", "number", function(value) {
return getStatusColor(value);
}),
new sap.m.ObjectStatus({
text:"{Name}",
}).bindProperty("state", "number", function(value) {
return getStatusColor(value);
}),
],
pressListMethod: function(event){
var bindingContext = event.getSource().getBindingContext();
}
});
function getStatusColor(status) {
if (status === '') {
return "Error";
}
else {
return "Success";
}
}
根据数字字段,我们为列Slno和名称提供颜色。
答案 4 :(得分:0)
================== XML ============================ =======
<t:Table >
<t:columns>
<t:Column width="11rem">
<Label text="标志" />
<t:template>
<Text text="{
path: 'status',
formatter: 'yaoji.utils.formatter.format'
}"
/>
</t:template>
</t:Column>
</t:columns>
</t:Table>
===================格式js ========================== =
yaoji.utils.formatter.format = function (cellValue) {
this.onAfterRendering= function() {
//!!! if not after redering, can't get the dom
var cellId = this.getId();
$("#"+cellId).parent().parent().parent().css("background- color","red");
return cellValue;
};
答案 5 :(得分:0)
UI5现在支持替代颜色,可以通过sap.m.Table以及sap.ui.table.Table上的属性alternateRowColors
(自1.52开始)应用。