我正在使用 v7 ,我希望在tree view
字段中显示图像图标(如信号量),具体取决于同一行中的其他字段值。
实际上,我通过函数字段获得了我想要的功能,并将结果作为字符串,但我真的希望它作为图像。我不知道是否可以从函数返回HTML
,所以我决定使用jQuery
执行此操作。
我使用浏览器控制台实现了jQuery
代码,但是当我将jQuery code
放在视图中时,"数据字段"选择器未选中。
拜托,有人可以解释我为什么或告诉我另一种方法来实现我的目标吗?
答案 0 :(得分:3)
<强>解释强>
列表视图的根元素是树。列表视图的根目录可以具有以下属性:
editable,default_order,colors,fonts,create,edit,delete,on_write,string
详细了解ListView
您可以通过在列表视图中定义子元素按钮来实现此目的。 我在产品中添加了图标,以根据产品的状态显示产品是否可用/保留/销售。
按钮强>
图标:用于显示按钮的图标
要在列表视图中显示图标的Xml代码。
<xpath expr="//notebook/page[@string='Order Lines']/field[@name='order_line']/tree[@string='Sales Order Lines']/field[@name='product_id']" position="before">
<field name="product_status" invisible="1" />
<button icon='Hold' readonly="1" attrs="{'invisible':[('product_status', '!=', 'hold')]}"/>
<button icon='Available' readonly="1" attrs="{'invisible':[('product_status', '!=', 'available')]}"/>
<button icon='sold' readonly="1" attrs="{'invisible':[('product_status', '!=', 'sold')]}"/>
</xpath>
注意强>
基本字段必须 store = True 。
为什么存储=真?
原因:当您设置任何功能字段存储=真时,它将在数据库中物理创建,而您在此处提供此字段名称 domain odoo框架直接在 WHERE 子句中添加此字段, 它不会通过可浏览对象访问,所以如果你的字段是 存储=错误然后它无法找到该字段并给您一个错误。
xpath用于定义要添加/更新字段的位置。
详细了解xpath