Odoo 中文社区

    • 注册
    • 登录
    • 搜索
    • 版块
    • 标签
    • 热门
    • 用户
    • 群组

    Odoo中文社区可以通过以下两个域名访问:shine-it.net , odoo.net.cn

    由于系统升迁的原因,本论坛部分较早期的内容存在格式和链接损坏失效的问题,并非本论坛系统本身的缺陷,望谅解

    本社区没有维护任何QQ群讨论组,任何与本社区同名的QQ群讨论组的言论与本社区无关!

    开发人员可以登录gitter讨论组: http://gitter.im/odoo-china/Talk, 需要github账号

    如果您登录系统碰到问题,请在微信公众号留言:

    o2m类型的数据进行分page展示

    Odoo 开发与实施交流
    3
    14
    2110
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • H
      hui 最后由 hui 编辑

      对数据进行分页展示(分页展示的数据是model中的一个o2m的字段)最好是form视图中的在notebook中分几个page展示相关字段(主要是想跟在excel中分多个sheet展示这样的效果),或者是能自定义每页展示的数据也行,或者还有其他方法可以动态展示的吗?

      S 1 条回复 最后回复 回复 引用 0
      • S
        Siyuan @hui 最后由 编辑

        @hui

        自己写个分页显示的 widget

        H 1 条回复 最后回复 回复 引用 0
        • H
          hui @Siyuan 最后由 编辑

          @siyuan 这个一点头绪页没有啊

          鲍 1 条回复 最后回复 回复 引用 0
          • 鲍
            鲍永道 @hui 最后由 编辑

            @hui 目前odoo的one2many在form中不是直接可以使用page标签么。

            S H 2 条回复 最后回复 回复 引用 0
            • S
              Siyuan @鲍永道 最后由 编辑

              @鲍永道

              框架里同一个字段,

              一次只会刷新最后一个;

              你放多个同一个字段,

              只有最后一个会有值,

              其他的都是空

              H 1 条回复 最后回复 回复 引用 0
              • H
                hui @鲍永道 最后由 编辑

                @鲍永道 是可以的,但是我生成的page的数目不固定啊

                S 1 条回复 最后回复 回复 引用 0
                • H
                  hui @Siyuan 最后由 编辑

                  @siyuan 那你说的用分页显示的 widget可以解决,能再提供点思路吗

                  S 1 条回复 最后回复 回复 引用 0
                  • S
                    Siyuan @hui 最后由 编辑

                    @hui

                    对应模块重写:fields_view_get,

                    在 view_type 是 form 的情况下动态计算更新 page

                    H 1 条回复 最后回复 回复 引用 0
                    • H
                      hui @Siyuan 最后由 编辑

                      @siyuan 这个我试过了,这个重写以后的只在arch里面显示的page,相当于html代码吧,其他都是一些字段的属性信息。你说的这个怎么动态计算啊

                      1 条回复 最后回复 回复 引用 0
                      • S
                        Siyuan @hui 最后由 编辑

                        @hui

                        Ony2many 渲染用的都是 继承的 ListView 模板,

                        写个 widget 用你自己写的 xml 模板,

                        只读不难,

                        编辑的话,要调试 js 代码,会比较麻烦

                        H 2 条回复 最后回复 回复 引用 0
                        • H
                          hui @Siyuan 最后由 编辑

                          @siyuan 是挺麻烦的。
                          我就是想数据分开,类似excel里面sheet那样展示,有没有其他更好的建议参考啊

                          S 1 条回复 最后回复 回复 引用 0
                          • S
                            Siyuan @hui 最后由 编辑

                            @hui

                            那你就脱离 odoo 框架了;

                            只读都简单,

                            麻烦的是编辑,

                            涉及到前后端通讯,

                            例如:后端的 onchange, compute 等事件的触发

                            1 条回复 最后回复 回复 引用 0
                            • H
                              hui @Siyuan 最后由 编辑

                              @siyuan
                              我写一个template,这个template就是我想要的视图,然后在我需要的地方调用,就在我的form视图中写
                              <t t-call="pages_template" />。但是现在没作用,也没有数据显示啊

                              <?xml version="1.0" encoding="utf-8" ?>
                              <odoo>
                                  <data>
                                      <template id="pages_template">
                                          <notebook>
                                              <t t-foreach="object.line_ids" t-as="l">
                                                  <page string="Page==">
                                                      Part Num.
                                                      <span t-field="l.part_number"/>
                                                  </page>
                                              </t>
                                          </notebook>
                                      </template>
                                  </data>
                              </odoo>
                              
                              H 1 条回复 最后回复 回复 引用 0
                              • H
                                hui @hui 最后由 编辑

                                @hui 一个蹩脚的解决方案。
                                比如我现在假设有最多3个page。
                                1、在主model里面写3个o2m的字段,除了字段名其他都相同的。
                                2、在line的model里面加上个page的字段,区分每条记录是第几个sheet的数据。
                                3、在视图上用attrs属性用以判断是否显示。在notebook的page是也要加个判断条件的。

                                <field name="part_number" attrs="{'invisible': ['|', '|', ('is_cnaus_purchase', '=', True),('page', '&lt;', 1), ('page', '&gt;', 1)]}"/>
                                
                                <page string="Page 2" attrs="{'invisible': [('has_page_2', '=', False)]}">
                                

                                缺陷是:
                                如果有删除的权限的话,在编辑状态下,会显示出空行,最后还有一个删除按钮显示。在只读状态下的话,会明显看出有几个没有数据的空行。这些都去不掉的。
                                0_1531123051646_page11.png
                                0_1531123068753_page11.png

                                1 条回复 最后回复 回复 引用 0
                                • First post
                                  Last post