Odoo。有限制的下拉列表
问题描述:
我的模型中有一些One2Many字段。我设置了limit = 5为树元素的视图。但是我怎样才能将可能的值(80-200-500等)更改为我的自定义列表(例如:10-15等)?Odoo。有限制的下拉列表
这里我的xml:
<!--
info about view:
<record model="ir.ui.view" id="view_my_id_employee_form">
<field name="name">hr.employee.property.form.inherit</field>
<field name="model">hr.employee</field>
<field name="inherit_id" ref="hr.view_employee_form" />
-->
<field name="adaptation_result_ids">
<tree default_order="date desc" limit="5">
<field name="name"/>
<field name="date"/>
</tree>
</field>
也许有可能使用窗口操作的设置?
我尝试不同的方法,但一切都是徒劳。 你能帮我解决问题吗? 预先感谢您。
答
/addons/web/static/src/js/views/list_view.js
render_pager: function($node) {
//...
this.$pager
//...
.find('.oe_list_pager_state')
.click(function (e) {
e.stopPropagation();
var $this = $(this);
var $select = $('<select>')
.appendTo($this.empty())
.click(function (e) {e.stopPropagation();})
.append('<option value="80">80</option>' +
'<option value="200">200</option>' +
'<option value="500">500</option>' +
'<option value="2000">2000</option>' +
'<option value="NaN">' + _t("Unlimited") + '</option>')
.change(function() {
var val = parseInt($select.val(), 10);
self._limit = (isNaN(val) ? null : val);
self.page = 0;
self.reload_content();
}).blur(function() {
$(this).trigger('change');
})
.val(self._limit || 'NaN');
});
//...
}
/my_module/template.xml
<openerp>
<data>
<template id="assets_backend_tree_pager" name="tree pager" inherit_id="web.assets_backend">
<xpath expr="//script[@src='/web/static/src/js/views/list_view.js']" position="replace">
<script type="text/javascript" src="/my_module/static/src/js/views/list_view.js"></script>
</xpath>
</template>
</data>
</openerp>
/my_module /静态/ SRC/JS /视图/list_view.js
// TODO code
我不明白你的问题,你的意思是限制one2many的领域?在这种情况下,限制域到什么parametter?如果im在正确的方向,最好的情况是你的自适应结果对象中的另一个字段(如布尔值),然后在one2many中添加一个域过滤器 – dccdany
我只需要更改下拉列表中的可能值(对于特定视野中的字段)。 'adaptation_result_ids' - 它是One2Many字段。我需要为我的列表设置仅用于此_tree_元素的可能值。有可能的? –
是的,但让我们假设你有5项:200,300,500,1000和2500,并且你想显示200,300和500.你想要显示那些你说的那些有什么不同不想显示(1000 - 2500)? – dccdany