1
A
回答
0
在Odoo 10.我的代码中添加一个下拉列表:
你可以这样做:静态/ XML/my_btn_temp.xml
<?xml version="1.0" encoding="utf-8" ?>
<templates id="template" xml:space="preserve">
<t t-extend="ListView.buttons">
<t t-jquery="button.o_list_button_discard" t-operation="after">
<t t-if="widget.model=='product.template'">
<select class="oe_my_priceliste_button btn btn-sm btn-primary" name="oe_my_priceliste_button" id="oe_my_priceliste_button"
style="margin-left:7%;width:45%;display:inline-block;border: 1px solid #CCCCCC; border-radius: 3px; background: orange;color:white;">
</select>
</t>
</t>
</t>
</templates>
并添加此qweb到__manifest__.py:
'data': [....],
'qweb': ['static/xml/my_btn_temp.xml',],
而且将动作添加到该按钮,你可以用JS做到这一点:
odoo.define('my_module.btn_price_list_tree', function(require) {
"use strict";
var core = require('web.core');
var utils = require('web.utils');
var Model = require('web.Model');
var Widget = require('web.Widget');
var ViewManager = require('web.ViewManager');
var ControlPanel = require('web.ControlPanel');
var ListView = require('web.ListView');
var dataset = require('web.data');
var Dialog = require('web.Dialog');
var list_widget_registry = core.list_widget_registry;
var QWeb = core.qweb;
var _t = core._t;
ListView.include({
load_list: function(data) {
var self = this;
var result = this._super.apply(this, arguments);
var CHOICE = _t("Choose a price list");
var op_tions = "<option value='-1'>"+CHOICE+"</option>";
if (this.$el) {
new Model("product.pricelist").query().all().then(function(ret){
if(ret){
for(var ind=0; ind< ret.length; ind++){
var res = ret[ind];
op_tions += "<option value='"+res.id+"'>"+res.name+"</option>";
}
$('#oe_my_priceliste_button').html(op_tions);
}
});
}
return result;
},
render_buttons: function() {
var self = this;
var add_button = false;
if (!this.$buttons) { // Ensures that this is only done once
add_button = true;
}
this._super.apply(this, arguments); // Sets this.$buttons
if(add_button) {
this.$buttons.on('change', '.oe_my_priceliste_button', this.proxy('do_price_list_dropdown_change'));
}
},
do_price_list_dropdown_change: function(){
var price_list_id = $('#oe_my_priceliste_button').val();
new Model("product.template").call("do_price_list_dropdown_change",[[],price_list_id], {}, {async: true}).done(function(data) {
window.location.reload(true);
});
},
});
});
而且你添加的JS: /views/assets.js
<?xml version="1.0" encoding="utf-8"?>
<odoo>
<data>
<template id="assets_backend" name="project assets" inherit_id="web.assets_backend">
<xpath expr="." position="inside">
<script type="text/javascript" src="/plw_core/static/src/js/add_pricelist_dropdown.js"></script>
</xpath>
</template>
</data>
</odoo>
感谢。
相关问题
- 1. 在视图中添加一个按钮
- 2. 无按钮打印视图
- 3. 在树视图中添加一个按钮Odoo 8
- 4. 如何在另一个视图下添加动态按钮?
- 5. 将按钮添加到树视图行
- 6. 在桌面视图下添加按钮
- 7. 打印按钮打印附加图像
- 8. 如何在JavaFX中按一下按钮以添加图像
- 9. 如何programatcally一个按钮添加到一个单一的树型视图
- 10. 如何在Drupal7中添加一个按钮点击按钮?
- 11. 如何在长时间按下按钮的同时打开一个带有其他按钮的矩形按钮?
- 12. 按下按钮进行打印后,将焦点放在另一个按钮上
- 13. 如何在按下按钮后在applet(java)中添加图片?
- 14. 在Android上的列表视图下添加一个按钮
- 15. 添加一个图像按钮,然后按一下按钮没有检测
- 16. 如何添加下一个和上一个按钮图像galary
- 17. Android:在视图中添加按钮
- 18. 添加打印按钮的JPanel
- 19. 如何在按下另一个视图中的按钮时调用视图?
- 20. 如何在XPCE中按下按钮后打印功能结果
- 21. 如何添加按钮和行动,打击该按钮在openerp7
- 22. 如何在圆形矩形按钮中添加箭头图标
- 23. 添加/删除按钮按下图像
- 24. 如何在JTable中添加新行,同时按一下按钮
- 25. 在joomla文章里添加一个打印按钮
- 26. 在按下按钮的同时为单个视图添加子视图
- 27. 按下按钮时显示另一个按钮并打印偶数
- 28. 如何在按下一个按钮
- 29. 按下按钮时,手指在按钮视图中,android OnTouchListener
- 30. jsTree - 在checbox树中添加按钮
意味着你想在树形视图中添加按钮?请指定放置按钮上的哪个地方给屏幕截图... –
我添加了屏幕截图 – Borealis
这是可能的。但你麻烦编辑JavaScript代码。这很丑陋。你应该在每一行树上添加一个按钮,或者在一个动作unter Action中添加一个按钮。 – qvpham