Szukaj…


Uwagi

'depends': ['web',....]

Niestandardowy widget dla pól numerycznych do użycia w TreeView

Poniższy przykładowy widget pokazuje, jak warunkowo sformatować poszczególne komórki kolumny TreeView, w zależności od wartości pola w danej komórce. Jeśli wartość pola jest ujemna, zostanie wyświetlona w kolorze czerwonym, a symbol minus będzie ukryty, w przeciwnym razie zostanie wyświetlony w kolorze normalnym.

Widżet powinien być napisany w JavaScript, użyjmy custom_widget_name jako nazwy nowego widżetu, a your_module_name to techniczna nazwa twojego modułu (taka sama jak nazwa katalogu głównego modułu)

W folderze static / src / js / w swoim module dodaj plik javascript (np. Static / src / js / custom_widget .js) z niestandardowym widgetem:

 openerp.your_module_name = function (instance) {

    instance.web.list.columns.add('field.custom_widget_name', 'instance.your_module_name.custom_widget_name');

    instance.your_module_name.custom_widget_name = instance.web.list.Column.extend({
        _format: function (row_data, options) {
            res = this._super.apply(this, arguments);
            var amount = parseFloat(res);
            if (amount < 0){
                return "<font color='#ff0000'>"+(-amount)+"</font>";
            }
            return res
        }
    });
    //
    //here you can add more widgets if you need, as above...
    //
};

powyższy przykładowy widżet może być używany w widoku listy dla pola typu float i stosuje następujące reguły niestandardowe:

  • Liczby ujemne:
    • Są pokazane na czerwono.
    • Symbol minus (znak „-”) jest „ukryty”.
  • W przypadku liczb dodatnich używany jest domyślny układ.

Ten przykładowy widget można zastosować do pola w widoku drzewa Odoo. Możesz użyć takiego widżetu w kolumnie, w której musisz zastosować reguły niestandardowe do:

. . .
<tree >
    . . .
    <field name="some_field" widget="my_widget" />
    . . .
</tree>
. . .


Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow