将列表字段显示为矩阵

odoo8-addon-web-widget-x2many-2d-matrix的Python项目详细描述


License: AGPL-3

x2many字段的二维矩阵

此模块允许显示具有3元组的x2many字段 表中的($x_值,$y_值,$value)

$x_value1$x_value2
$y_value1$value(1/1)$value(2/1)
$y_value2$value(1/2)$value(2/2)

其中值(n/n)可编辑。

一个示例用例是:选择一些项目和一些员工,以便 经理可以很容易地为每位员工填写一项任务的计划工时。这个 结果可能如下:

Screenshot

它的优点是你有任意数量的列 widget,试图在标准的x2many列表中得到这个包含一些相当丑陋的 黑客。

使用量

使用此小部件时,请说:

<field name="my_field" widget="x2many_2d_matrix" />

这假设my_字段指的是一个具有字段xy。如果字段的名称不同,请将正确的名称作为 属性:

<field name="my_field" widget="x2many_2d_matrix" field_x_axis="my_field1" field_y_axis="my_field2" field_value="my_field3" />

您可以传递以下参数:

字段xx轴
表示点的x值的字段
字段yyx/< dt>
表示点的y值的字段
D.> FieldLabelxx轴< /dt >
使用另一个字段显示在表头中
dt>场标记轴< < /d>
使用另一个字段显示在表头中
字段值
将此字段显示为值
显示行总数
如果字段值是数字字段,则计算行总数
显示列总数
如果字段值是数字字段,则计算列总数
字段附件<;名称>;
声明绑定所需的以该字符串为前缀的多个选项 具有HTML节点属性的字段值(禁用、类、样式…) 称为传入选项的<;name>;
Try me on Runbot

示例

您需要一个已经填充了值的数据结构。假设我们想 在向导中使用此小部件,该向导允许用户为一个 每个用户每个项目的任务。在这种情况下,我们可以使用project.task作为 数据模型并从向导指向它。关键是我们要 默认函数中的字段:

class MyWizard(models.TransientModel):
   _name = 'my.wizard'

   def _default_task_ids(self):
       # your list of project should come from the context, some selection
       # in a previous wizard or wherever else
       projects = self.env['project.project'].browse([1, 2, 3])
       # same with users
       users = self.env['res.users'].browse([1, 2, 3])
       return [
           (0, 0, {'project_id': p.id, 'user_id': u.id, 'planned_hours': 0})
           # if the project doesn't have a task for the user, create a new one
           if not p.task_ids.filtered(lambda x: x.user_id == u) else
           # otherwise, return the task
           (4, p.task_ids.filtered(lambda x: x.user_id == u)[0].id)
           for p in projects
           for u in users
       ]

   task_ids = fields.Many2many('project.task', default=_default_task_ids)

现在在向导中,我们可以使用:

<field name="task_ids" widget="x2many_2d_matrix" field_x_axis="project_id" field_y_axis="user_id" field_value="planned_hours" />

注意,矩阵中的所有值都必须存在,因此需要创建它们。 以前如果不存在,但是您可以直观地控制 矩阵中的字段通过field_att_disabled选项和控件 字段。

已知问题/路线图

  • 尝试实例化适当的field小部件并让它呈现输入是值得的

缺陷跟踪器

GitHub Issues上跟踪错误。如果有麻烦,请 如果您的问题已经报告,请检查那里。如果你先发现它, 通过提供详细而受欢迎的反馈,帮助我们粉碎它。

学分

贡献者

维护人员

Odoo Community Association

此模块由OCA维护。

oca,或odoo社区协会,是一个非营利性组织 任务是支持odoo特性和 促进其广泛应用。

若要对此模块作出贡献,请访问https://odoo-community.org

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java播放流媒体音乐   LWJGL中的java纹理未显示   java从父集合中删除时删除子对象   mysql希望在我的代码中添加验证,如果表不存在,它应该用java创建新表   java我可以关闭客户端的socket而不引起服务器端的EOFEException吗?   java Primefaces对话框框架咆哮和showMessageInDialog不工作   hadoop配置单元无法初始化类java。网网络接口   关键字中缺少oracle11g Java iBatis   java在RESTAPI中创建PUT和POST端点,而不创建GET端点?   java Math abs和ceil输出编译错误   java Tomcat 8.017代md5及其摘要。球棒   java SpringBean配置xml文件在IteliJ Idea中加载   java为什么在使用Powershell指定Xms和Xmx时,它们什么都不做,但通过Netbeans IDE可以正常工作?   java Drools项目构建失败,kjar打包从7.7版开始