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. 如何在另一個視圖下添加動態按鈕?
- 4. 在桌面視圖下添加按鈕
- 5. 打印按鈕打印附加圖像
- 6. 如何在JavaFX中按一下按鈕以添加圖像
- 7. 如何在Drupal7中添加一個按鈕點擊按鈕?
- 8. 如何在長時間按下按鈕的同時打開一個帶有其他按鈕的矩形按鈕?
- 9. 按下按鈕進行打印後,將焦點放在另一個按鈕上
- 10. 如何在按下按鈕後在applet(java)中添加圖片?
- 11. 在Android上的列表視圖下添加一個按鈕
- 12. 添加一個圖像按鈕,然後按一下按鈕沒有檢測
- 13. 如何添加下一個和上一個按鈕圖像galary
- 14. 添加打印按鈕的JPanel
- 15. 如何在按下另一個視圖中的按鈕時調用視圖?
- 16. 如何在XPCE中按下按鈕後打印功能結果
- 17. 如何在圓形矩形按鈕中添加箭頭圖標
- 18. 在按下按鈕的同時爲單個視圖添加子視圖
- 19. 如何在JTable中添加新行,同時按一下按鈕
- 20. 按下按鈕時顯示另一個按鈕並打印偶數
- 21. 如何在按下一個按鈕
- 22. 按下按鈕時,手指在按鈕視圖中,android OnTouchListener
- 23. 如何在Drupal視圖中添加單選按鈕並提交按鈕?
- 24. jsTree - 在checbox樹中添加按鈕
- 25. 如何在列表視圖中添加兩個按鈕
- 26. 如何在按下按鈕時突出顯示一個按鈕
- 27. 在網格視圖中添加下一個和上一個按鈕
- 28. 如何添加一個值時按下的按鈕
- 29. 如何在單擊按鈕時在按鈕上打印值?
- 30. C#如何在按鈕陣列按鈕上添加圖像
意味着你想在樹形視圖中添加按鈕?請指定放置按鈕上的哪個地方給屏幕截圖... –
我添加了屏幕截圖 – Borealis
這是可能的。但你麻煩編輯JavaScript代碼。這很醜陋。你應該在每一行樹上添加一個按鈕,或者在一個動作unter Action中添加一個按鈕。 – qvpham