我已经创建了一个自定义模块,在我的树视图中,我将始终只有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>
答案 0 :(得分:5)
转到路径:Odoo 10.0 \ server \ odoo \ addons \ web \ static \ src \ js \ views并编辑文件 list_view.js 第1115行 并改变
this.pad_table_to(4);
到
this.pad_table_to(1);
答案 1 :(得分:2)
通过编辑odoo代码来更新javascript是非常糟糕的,你应该使用include来覆盖 代码:
创建一个新模块并创建一个javascript文件:
/your_addon_name/static/src/js/list_view.js
你在javascript文件中的覆盖了这样的渲染方法:
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);
}
}
});
}
诅咒只是写javascript不会做的伎俩我们应该把ower java脚本文件放到backends_asset模板
在odoo后端加载。
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<template id="assets_backend_custom_id" name="list_view assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/your_addon_name/static/src/js/list_view.js"></script>
</xpath>
</template>
</odoo>
不要忘记将xml文件放到odoo清单希望这可以帮助你和其他人