使用focusCellOnPointerMove时,Table单元格的样式在哪里?

时间:2017-03-11 17:49:53

标签: qooxdoo

我有一个qx.ui.table.Table,当一行占用焦点时变得难以阅读。我使用qx.ui.table.cellrenderer.Date作为基类来覆盖单元格的背景颜色,虽然它不会出现这种方法在被调用时被调用 focusCellOnPointerMove : true发生事件。

那么,当一行占据焦点时,表的样式在哪里?

Example

这是我的覆盖:

// 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 || "";
  }

},

使用scro34的建议: enter image description here

1 个答案:

答案 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