我已经创建了一个自定义模块,在我的树视图中,我将始终只有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)
通过编辑 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 清单中,希望这对您和其他人有帮助
只需转到路径: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)
| 归档时间: |
|
| 查看次数: |
397 次 |
| 最近记录: |