Suche…


Bemerkungen

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

Benutzerdefiniertes Widget für numerische Felder zur Verwendung in TreeView

Das folgende Beispiel-Widget veranschaulicht, wie einzelne Zellen einer TreeView-Spalte abhängig vom Wert des Felds in der jeweiligen Zelle bedingt formatiert werden. Wenn der Wert des Feldes negativ ist, wird er in roter Farbe angezeigt und das Minus-Symbol wird ausgeblendet. Andernfalls wird es in normaler Farbe angezeigt.

Ein Widget sollte in JavaScript geschrieben sein. custom_widget_name als Namen für ein neues Widget verwenden. your_module_name ist ein technischer Name Ihres Moduls (derselbe wie der Name des Stammverzeichnisses Ihres Moduls)

Fügen Sie im Ordner static / src / js / in Ihrem Modul die Javascript-Datei hinzu (z. B. static / src / js / custom_widget .js) und fügen Sie ein benutzerdefiniertes Widget hinzu:

 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...
    //
};

Das obige Beispiel-Widget kann in einer Listenansicht für das Feld vom Typ Float verwendet werden und wendet benutzerdefinierte Regeln wie folgt an:

  • Negative Zahlen:
    • Werden rot angezeigt
    • Das Minuszeichen (ein "-" - Zeichen) ist "versteckt".
  • Bei positiven Zahlen wird das Standardlayout verwendet.

Dieses Beispiel-Widget kann auf ein Feld in einer Baumansicht von Odoo angewendet werden. Sie können ein Widget wie folgt für eine Spalte verwenden, auf die Sie die benutzerdefinierten Regeln anwenden müssen:

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


Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow