有一个带有时间表模块(自制)的odoo系统。我想给那里的周末牢房上色。以下是一些代码示例:

openerp.Tabel = function (instance) {
   instance.web.list.columns.add('field.mywidget', 'instance.Tabel.mywidget');
   instance.Tabel.mywidget = instance.web.list.Column.extend({
                         ...
   _format: function (row_data, options) {
      res = this._super.apply(this, arguments);
      var startDate = row_data['time_start_s'].value;
      if (startDate.length>0){
      //Get massive dd.mm.yyyy
      var arr = startDate.split('-');
      var d = new Date(arr[0],arr[1]-1,arr[2]);
      //Get current number of month. From field name delete all chars.
      var number = this.name.replace(/[A-Za-z]/g, "") - 1;
      d.setDate(  d.getDate()+ number );
      if ( d.getDay()==0 || d.getDay()==6)
         if (res.length>0)
            return "<div class=\"oe_readonly\" style=\" color:#4d394b; background:#eadee0;  \" >" + res+"</div>";
         else
            return "<div  class=\"oe_readonly\" style=\" color:#4d394b; background:#eadee0;  \" > &nbsp;&nbsp;</div>";
   }
    return res;
   },
});


但这不能完全为细胞着色。屏幕截图如下:
javascript - 细胞着色-LMLPHP

有什么办法可以解决?一如既往,任何建议都将受到高度赞赏。

最佳答案

尝试改用CSS样式。您可以使用CSS非常轻松地为列设置样式:

td:nth-child(1) { background-color: #5555FF }

这将为第一列设置样式。

09-25 17:07