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

原论坛用户的基本信息和发帖这里都予以保留,请注意:原论坛用户无需重新注册新用户,但是您的密码需要重置

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

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

odoo11怎么控制字段值得长度?



  • 有一个描述的field,值很长。我在列表里,也不想让他换行。就是显示10个字符后,后面用...显示,怎么处理?



  • 写个 widget,

    利用 overflow hidden 截取字符



  • 自己写widget 我就碰到过这样的需求



  • @siyuan 我这样写
    <field name="name" widget="white-space:nowrap; overflow:hidden; text-overflow:ellipsis;" />
    没用



  • @winboodoo11怎么控制字段值得长度? 中说:

    有一个描述的field,值很长。我在列表里,也不想让他

    可以自己封装一个widget,来实现这样的功能。



  • @鲍永道 怎么写?不太会啊。还有就是要求就是显示10个字符后,后面用...显示,鼠标放到这个内容上会弹出tooltip 气泡显示全部内容



  • @winbo

    9.0 的话,把 base.xml

    <pre><code><tr t-name="ListView.row"</code></pre>

    里面的:

    <pre><code>
    <td t-if="!column.meta and column.invisible !== '1'" t-att-title="column.help"
    t-attf-class="#{modifiers.readonly ? 'o_readonly' : ''} #{number ? 'o_list_number' : ''} #{text ? 'o_list_text' : ''} #{column.id === 'sequence' ? 'o_handle_cell' : ''} #{column.tag === 'button' ? 'o_list_button' : ''}"
    t-att-data-field="column.id"
    ><t t-raw="render_cell(record, column)"/></td>
    </code></pre>

    替换成:

            <t t-if="column.widget=='yyy'">
                <td t-if="!column.meta and column.invisible !== '1'" t-att-title="column.help"
                    t-attf-class="#{modifiers.readonly ? 'o_readonly' : ''} #{number ? 'o_list_number' : ''} #{text ? 'o_list_text' : ''} #{column.id === 'sequence' ? 'o_handle_cell' : ''} #{column.tag === 'button' ? 'o_list_button' : ''}"
                    t-att-data-field="column.id"
                    ><div name="title" style='width:120px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;' t-attf-title="#{value}"><t t-raw="value"/></div></td>
            </t>
            <t t-if="column.widget!='yyy'">
                <td t-if="!column.meta and column.invisible !== '1'" t-att-title="column.help"
                    t-attf-class="#{modifiers.readonly ? 'o_readonly' : ''} #{number ? 'o_list_number' : ''} #{text ? 'o_list_text' : ''} #{column.id === 'sequence' ? 'o_handle_cell' : ''} #{column.tag === 'button' ? 'o_list_button' : ''}"
                    t-att-data-field="column.id"
                    ><t t-raw="value"/></td>
            </t>
    

    yyy: widget name

    使用的时候:

    <pre><code><field name="xxx" widget="yyy"/></code></pre>

    9.0以上的也类似



  • 最好是扩展出来,不修改源码。后面方便升级odoo版本,不建议直接修改odoo源码。