odoo-8
Anpassade widgetar för fält
Sök…
Anmärkningar
- se till att du lägger till javascript-filen ordentligt till din modul
- glöm inte att lägga till 'web' som beroende i __openerp__.py:
'depends': ['web',....]
Anpassad widget för numeriska fält att använda i TreeView
Nedanstående widget visar hur man formaterar enskilda celler i en TreeView-kolumn på villkor beroende på fältets värde i den specifika cellen. Om värdet på fältet är negativt visas det i röd färg och minussymbolen kommer att döljas, annars visas det i normal färg.
En widget ska skrivas i JavaScript, låter använda custom_widget_name
som ett namn för en ny widget, och your_module_name
är ett tekniskt namn på din modul (samma som din moduls rotkatalognamn)
Uunder static / src / js / folder i din modul lägg till javascript-fil (säg static / src / js / custom_widget .js) med en anpassad widget i den:
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...
//
};
ovanstående widget kan användas i en listvy för fält av typen float och den tillämpar anpassade regler enligt följande:
- Negativa siffror:
- Visas i rött.
- Minussymbol (ett '-' tecken) är "dold".
- För positiva nummer används standardlayout.
Det här exemplet widget kan tillämpas på ett fält i en trädvy av Odoo. Du kan använda widget som denna för en kolumn som du behöver använda de anpassade reglerna för:
. . . <tree > . . . <field name="some_field" widget="my_widget" /> . . . </tree> . . .