显示额外空的领域的树型视图

Mas*_*har 4 openerp odoo-10

我已经创建了一个自定义模块,在我的树视图中,我将始终只有1行数据.但在我的树视图中,它显示了额外的空行.如何删除那些不需要的空行?

查看图片以供参考

我的观点代码:

<record model="ir.ui.view" id="ctimesheet.list">
    <field name="name">ctimesheet list</field>
    <field name="model">time.recorder</field>
    <field name="arch" type="xml">
    <tree string="TIME SHEET" create="false">
        <field name="total_time"/>
        <field name="month_time"/>
        <field name="yesterday_time"/>
        <field name="week_time"/>
        <field name="notsubmitted_time"/>
        <field name="user_id" invisible="1"/>
    </tree>
    </field>
</record>
Run Code Online (Sandbox Code Playgroud)

Cha*_* DZ 6

通过编辑 odoo 代码来更新 javascript 是非常糟糕的,你应该使用 include 来覆盖代码:

创建一个新模块并创建一个 javascript 文件:

    /your_addon_name/static/src/js/list_view.js
Run Code Online (Sandbox Code Playgroud)

在你的 javascript 文件中重写 render 方法,如下所示:

    odoo.define('you_module_name.ListView', function (require) {
           "use strict";

           // First retrieve the veiw from view_registry
           ListView = core.view_registry.get('list');

           // now use include to override the render method
           ListView.include({
                render: function () {
                    // call super method first
                    this._super();
                    // then override what you need
                    // and best thing here is that you can dor this for
                    // your model only
                    if (this.model == 'addon_name.model_name'){
                        this.pad_table_to(1);
                    }
                }
           });

        }
Run Code Online (Sandbox Code Playgroud)

仅仅编写 javascript 是不能解决问题的,我们应该将 java 脚本文件放入 backends_asset 模板中,以便在 odoo 后端加载。

    /your_addon_name/static/src/js/list_view.js
Run Code Online (Sandbox Code Playgroud)

不要忘记将 xml 文件放入 odoo 清单中,希望这对您和其他人有帮助

  • @Charif DZ 这应该是公认的答案,接受的答案永远不会被遵循 (3认同)

Kar*_*med 5

只需转到路径:Odoo 10.0\server\odoo\addons\web\static\src\js\views并编辑文件list_view.js 第1115行 并更改

this.pad_table_to(4);
Run Code Online (Sandbox Code Playgroud)

this.pad_table_to(1);
Run Code Online (Sandbox Code Playgroud)