odoo-8
フィールドのカスタムウィジェット
サーチ…
備考
- モジュールにjavascriptファイルが正しく追加されていることを確認してください
- __openerp__.pyの依存関係として 'web'を追加することを忘れないでください:
'depends': ['web',....]
TreeViewで使用する数値フィールド用のカスタムウィジェット
以下のサンプルウィジェットは、特定のセル内のフィールドの値に応じて、条件付きでTreeView列の個々のセルを書式設定する方法を示しています。フィールドの値が負の場合、赤色で表示され、マイナス記号は非表示になります。そうでない場合は、通常の色で表示されます。
ウィジェットはJavaScriptで書かれ、 custom_widget_name
を新しいウィジェットの名前として使用できますyour_module_name
はモジュールの技術名称です(モジュールのルートディレクトリ名と同じです)
モジュール内のUunder static / src / js /フォルダに、カスタムウィジェットを含むjavascriptファイル(static / src / js / custom_widget .js)を追加します:
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...
//
};
上記の例のウィジェットは、float型のフィールドのリストビューで使用でき、次のようにカスタムルールを適用します。
- 負の数:
- 赤で表示されます。
- マイナス記号( ' - '文字)は「非表示」です。
- 正の数の場合、デフォルトのレイアウトが使用されます。
この例のウィジェットは、Odooのツリービューのフィールドに適用できます。カスタムルールを適用する必要がある列に対して、次のようなウィジェットを使用できます。
. . . <tree > . . . <field name="some_field" widget="my_widget" /> . . . </tree> . . .
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow