任何人都可以帮我处理我的案件吗? 我想根据行内字段的值对多对一树视图的行进行着色。
<field colspan="2" name="timesheet_ids" class="custom-field" widget="one2many"
nolabel="1">
<tree editable="bottom" >
<field name="sequence" colors="red:is_line_nonsense == True"/>
<field name="time_event_type"/>
<field name="date" attrs="{'readonly': [('is_date_readonly', '=', True)]}"/>
<field name="is_begin_readonly" invisible="1"/>
<field name="is_end_readonly" invisible="1"/>
<field name="is_date_readonly" invisible="1"/>
<field name="is_line_nonsense" invisible="1"/>
<field name="begin_time"
attrs="{'readonly': [('is_begin_readonly', '=', True)]}"
widget="float_time"/>
<field name="end_time" attrs="{'readonly': [('is_end_readonly', '=', True)]}"
widget="float_time"/>
<field name="total_hours" widget="float_time" readonly="true"/>
</tree>
</field>
我希望当字段 is_line_nonsense = true 时,bg 行变为红色。
这是JS代码。
odoo.define('chn_events.highlight_rows', function (require) {
"use strict";
var ListRenderer = require('web.ListRenderer');
ListRenderer.include({
_renderRow: function (record, index) {
var $row = this._super.apply(this, arguments);
var color = record.data.color;
if (color) {
$row.css('background-color', color);
}
return $row;
},
});
});
但是不起作用,脚本已加载但不会显示颜色。
我也尝试过使用模块。 https://odoo-community.org/shop/colorize-field-in-tree-views-2814#attr=21700 这也不起作用,但我认为这是因为该模块适用于版本 15,而我有 16。
有人有解决方案吗?
您是否已在
assets
文件的 __manifest__.py
条目中正确添加了 js 文件的路径?
# ...
'assets': {
'web.assets_frontend': [
'/your_module/static/src/js/your_jsfile.js',
],
},
# ...