odoo-8
Widget personalizzati per campi
Ricerca…
Osservazioni
- assicurati di aggiungere correttamente il file javascript al modulo
- non dimenticare di aggiungere "web" come dipendenza in __openerp__.py:
'depends': ['web',....]
Widget personalizzato per campi numerici da utilizzare in TreeView
Il seguente widget di esempio mostra come formattare le singole celle di una colonna TreeView in modo condizionale, in base al valore del campo nella cella specifica. Se il valore del campo è negativo, verrà visualizzato in rosso e il simbolo meno sarà nascosto, altrimenti verrà visualizzato con colori normali.
Un widget deve essere scritto in JavaScript, consente di utilizzare custom_widget_name
come nome per un nuovo widget e your_module_name
è un nome tecnico del modulo (uguale al nome della directory principale del modulo)
Uunder static / src / js / folder nel tuo modulo aggiunge file javascript (ad esempio static / src / js / custom_widget .js) con un widget personalizzato al suo interno:
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...
//
};
il precedente esempio può essere utilizzato in una vista elenco per il campo di tipo float e applica le regole personalizzate come segue:
- Numeri negativi:
- Sono mostrati in rosso.
- Simbolo meno (un carattere '-') è "nascosto".
- Per i numeri positivi viene utilizzato il layout predefinito.
Questo widget di esempio può essere applicato a un campo in una vista ad albero di Odoo. Puoi utilizzare widget come questo per una colonna devi applicare le regole personalizzate a:
. . . <tree > . . . <field name="some_field" widget="my_widget" /> . . . </tree> . . .