サーチ…


備考

'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