跳转至内容
  • 版块
  • 标签
  • 热门
  • 用户
  • 群组
皮肤
  • Light
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • 默认(Flatly)
  • 不使用皮肤
折叠

Odoo 中文社区

  1. 主页
  2. 版块
  3. Odoo 开发与实施交流
  4. o2m类型的数据进行分page展示

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

已定时 已固定 已锁定 已移动 Odoo 开发与实施交流
14 帖子 3 发布者 2.9k 浏览
  • 从旧到新
  • 从新到旧
  • 最多赞同
登录后回复
此主题已被删除。只有拥有主题管理权限的用户可以查看。
  • S 离线
    S 离线
    Siyuan
    在 回复了 鲍永道 最后由 编辑
    #5

    @鲍永道

    框架里同一个字段,

    一次只会刷新最后一个;

    你放多个同一个字段,

    只有最后一个会有值,

    其他的都是空

    H 1 条回复 最后回复
    0
    • H 离线
      H 离线
      hui
      在 回复了 鲍永道 最后由 编辑
      #6

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

      S 1 条回复 最后回复
      0
      • H 离线
        H 离线
        hui
        在 回复了 Siyuan 最后由 编辑
        #7

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

        S 1 条回复 最后回复
        0
        • S 离线
          S 离线
          Siyuan
          在 回复了 hui 最后由 编辑
          #8

          @hui

          对应模块重写:fields_view_get,

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

          H 1 条回复 最后回复
          0
          • H 离线
            H 离线
            hui
            在 回复了 Siyuan 最后由 编辑
            #9

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

            1 条回复 最后回复
            0
            • S 离线
              S 离线
              Siyuan
              在 回复了 hui 最后由 编辑
              #10

              @hui

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

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

              只读不难,

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

              H 2 条回复 最后回复
              0
              • H 离线
                H 离线
                hui
                在 回复了 Siyuan 最后由 编辑
                #11

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

                S 1 条回复 最后回复
                0
                • S 离线
                  S 离线
                  Siyuan
                  在 回复了 hui 最后由 编辑
                  #12

                  @hui

                  那你就脱离 odoo 框架了;

                  只读都简单,

                  麻烦的是编辑,

                  涉及到前后端通讯,

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

                  1 条回复 最后回复
                  0
                  • H 离线
                    H 离线
                    hui
                    在 回复了 Siyuan 最后由 编辑
                    #13

                    @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 离线
                      H 离线
                      hui
                      在 回复了 hui 最后由 编辑
                      #14

                      @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

                      • 登录

                      • 没有帐号? 注册

                      • 登录或注册以进行搜索。
                      • 第一个帖子
                        最后一个帖子
                      0
                      • 版块
                      • 标签
                      • 热门
                      • 用户
                      • 群组