在openerp中同时使用表单视图和树视图的one2many列表
我有个小问题。我现在正在做的一个模块需要我插入一组字段和一个树形视图,当我在表单中输入数据时,这个树形视图会更新。
<field name="lines" widget="one2many_list" colspan="4" nolabel="1">
<tree>
<field name="product_id"/>
<field name="product_qty"/>
</tree>
<form>
<field name="product_id"/>
<field name="product_qty"/>
</form>
</field>
上面是我视图中的一段代码,能不能在同一页面上同时显示表单视图和树形视图呢?
比如说:
==============
表单字段
树形视图
这样的话,我就可以直接在上面的表单中添加记录到树形视图,而不需要点击新记录的图标来保存它们。
请给点建议。
谢谢!
5 个回答
1
这只是个想法,但也许这个设计可以解决你的问题。假设你有一个“订单”对象,里面有很多“产品行”:
- 在“产品行”上创建一个多对多字段,链接到它自己,使用一个叫做 parent_id 的字段。
- 为“产品行”对象创建一个表单,里面包含产品的 ID 和数量。
- 在表单中添加一个基于多对多字段的树形列表。
这样做可以解决问题吗?
4
在树形视图中,有一个叫做'editable'的属性。你可以使用editable='top'或者editable='bottom'。
<field name="lines" widget="one2many_list" colspan="4" nolabel="1">
<tree editable='bottom'>
<field name="product_id"/>
<field name="product_qty"/>
</tree>
<form>
<field name="product_id"/>
<field name="product_qty"/>
</form>
</field>
3
我觉得你是在问有没有办法在树形视图中添加或编辑记录,而不需要为每条记录都弹出一个窗口。
有些视图确实可以直接在树形视图中编辑。比如说,产品页面上的供应商价格列表就是一个例子。还有一个例子是在会计部分的“按移动编码的条目”。如果你查看一下源代码,可能就能搞明白他们是怎么做到的。