我有一个qx.ui.table.Table,当一行占用焦点时变得难以阅读。我使用qx.ui.table.cellrenderer.Date作为基类来覆盖单元格的背景颜色,虽然它不会出现这种方法在被调用时被调用
focusCellOnPointerMove : true
发生事件。
那么,当一行占据焦点时,表的样式在哪里?
这是我的覆盖:
// Overridden
_getCellStyle : function(cellInfo)
{
var diff = 5; // Example
if (diff < 60)
{
var color = '#8cff5e';
return this.base(arguments, cellInfo) + "background-color:" + color + ";";
} else if (diff < 60 * 5)
{
var color = '#ffff00';
return this.base(arguments, cellInfo) + "background-color:" + color + ";";
} else
{
return cellInfo.style || "";
}
},
答案 0 :(得分:1)
如果您只想更改表格行的背景颜色,可以使用qooxdoo的主题功能并覆盖您应用于应用程序的主题附带的颜色声明。
当指针悬停在一行上时,表格小部件使用两个颜色键来控制背景颜色: table-row-background-focused (未选择的行)和 table-row-以背景为中心的选择(选定的行)。
要覆盖预定义值,请打开位于应用程序“theme”文件夹中的Color.js,并在文件的“colors”部分添加两个条目,例如:
qx.Theme.define("myApp.theme.Color",
{
extend : qx.theme.indigo.Color,
colors :
{
"table-row-background-focused" : "#8cff5e",
"table-row-background-focused-selected" : "#ffff00"
}
});
有关qooxdoo主题的更多信息:http://www.qooxdoo.org/current/pages/desktop/ui_theming.html
桌面样式教程:http://www.qooxdoo.org/5.0.1/pages/desktop/ui_table_styling.html