如何在列表视图中添加更多默认空行?

How to add more default empty rows in list view?

我需要在列表视图中添加更多默认空行。

现在,它只在新记录上给出 4 个空行。但是,我需要再添加 10 个默认空行。

这是因为我使用 css 增加了 table 的高度。

.o_list_view .o_list_table {
    height: 800px;
}

结果是默认情况下它仍然有 4 行,但每行的高度都是 table 高度的 25%。因此,我需要在其中添加一些行,以便它们的高度再次适合新的 table 高度。

或者另一种解决方案,如果可能,删除 table 中行的自动高度调整,这样它就不会根据 table 高度进行缩放。

两种解决方案都可以接受table。

只要行的长度小于4,Odoo就会尝试添加一个空行。

要添加更多默认空行,您可以更改 ListRenderer _renderBody:

_renderBody: function () {
    var self = this;
    var $rows = this._renderRows();
    while ($rows.length < 14) {
        $rows.push(self._renderEmptyRow());
    }
    return $('<tbody>').append($rows);
},

你也可以在tree标签中设置一个empty_rows属性来定义空行数:

XML:

<tree string="" editable="bottom" empty_rows="4">  

JavaScript:

var ListRenderer = require('web.ListRenderer');

ListRenderer.include({
    _renderBody: function () {
        var self = this;
        var empty_rows = 4;
        if (self.arch && self.arch.attrs.empty_rows) {
            empty_rows = self.arch.attrs.empty_rows;
        }
        var $rows = this._renderRows();
        while ($rows.length < empty_rows) {
            $rows.push(this._renderEmptyRow());
        }
        return $('<tbody>').append($rows);
    },
});

选中Assets Management on how to add the above code to web.assets_backend bundle and Javascript Module System创建一个JavaScript模块