odoo 分组视图下显示同一批次记录的总数

修改前:

修改后:

xml文件:

<?xml version="1.0" encoding="utf-8"?>
<!-- vim:fdn=3:
-->
<openerp>
    <data>
        <template id="assets_backend" name="rhwl_gene_inherit assets" inherit_id="web.assets_backend">
            <xpath expr="." position="inside">
                <script type="text/javascript" src="/rhwl_gene_inherit/static/js/rhwl_gene_inherit.js"></script>
            </xpath>
        </template>
    </data>
</openerp>

js文件:

openerp.rhwl_gene_inherit = function (instance) {    var _t = instance.web._t,        _lt = instance.web._lt;    var QWeb = instance.web.qweb;

    instance.web.rhwl_gene_inherit = instance.web.rhwl_gene_inherit || {};

    instance.web.rhwl_gene_inherit.SearchView = instance.web.ListView.Groups.extend({        init: function (view, options) {            this._super.apply(this, arguments);            // all_batch_str :全局变量用于保存批次名和该批次对应的数量            this.all_batch_str = {};            var self = this;            var Mod = new instance.web.Model(‘rhwl.easy.genes.new‘);            Mod.call("get_all_batch_num").then(function(all_batch_num) {                        self.all_batch_str = all_batch_num;                    });        },

        render_groups: function (datagroups) {            var self = this;            for ( var i = 0; i <  datagroups.length; i++) {                if (datagroups[i].grouped_on === "batch_no"){                    var batch_no_name = datagroups[i].value;                    var current_num = datagroups[i].length;                    for (batch_str in self.all_batch_str) {                        if (batch_str === batch_no_name){                            datagroups[i].length = current_num+"/"+self.all_batch_str[batch_str];                        }                    }                }            }            placeholder = this._super.apply(this, arguments);            return placeholder;        }     });

    instance.web.views.add(‘rhwl_gene_inherit_ListView‘, ‘instance.web.rhwl_gene_inherit.ListView‘);    instance.web.rhwl_gene_inherit.ListView = instance.web.ListView.extend({         init: function (parent, dataset, view_id, options) {             this._super(parent, dataset, view_id, _.extend(options || {}, {                GroupsType: instance.web.rhwl_gene_inherit.SearchView             }));         }    });};

py文件:

    def get_all_batch_num(self, cr, uid, context=None):
        res = {}
        sql_str = "SELECT batch_no, count(*) as batch_count from rhwl_easy_genes_new WHERE  batch_no is not NULL GROUP BY batch_no "
        cr.execute(sql_str)
        for i in cr.fetchall():
            res.update({i[0]: i[1]})
        return res

原文地址:https://www.cnblogs.com/dancesir/p/10724350.html

时间: 2024-10-17 21:11:15

odoo 分组视图下显示同一批次记录的总数的相关文章

linux下history命令显示历史指令记录的使用方法

linux下history命令显示历史指令记录的使用方法 History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 .1>History命令语法: [[email protected]]# history [n][[email protected]]# history [-c][[email protected]]# history [-raw] histfiles参数:n   :数字,要列出最近的 n 笔命令列表-c  :将目前的shell中的所有 history 内容全部消除-

RDLC报表:每页显示N条记录

摘要: 提供一种方案,使分页浏览的报表每页显示固定条数记录,最后一页记录条数不足的,用空行补齐. 示例: 记录共7条,每页显示5条记录: 下载代码(vs2008,需要安装AdventureWorks数据库) 下载代码(vs2008,不需要数据库支持) 下载代码(仅rdlc报表定义文件) 原理: 由于表的分组包含“在起始处分页”和”在结束处分页”的功能,所以我们考虑先将数据分成若干个记录条数为N的组, 再启用“在结束处分页”的功能. 那么,如何分组呢?考虑记录的下标为 0,1,2,3... 的自然

linux下MySQL5.6安装记录

MySQL下载地址: ftp://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/http://mirrors.sohu.com/mysql/ 1.查看服务器版本: [[email protected] ~]# cat /etc/redhat-releaseCentOS release 6.4 (Final) [[email protected] ~]# rpm -qa|grep mysql mysql-libs-5.1.66-2.el6_3.

Visual studio 类视图和资源视图不显示的问题

关于Visual studio 类视图和资源视图不显示的问题 解决方法: 1. 工具—选项—文本编辑器—C/C++—高级,浏览/导航下的禁用数据库选项置为False; 2. 输入命令:devenv /resetsettings, 重置Visual studio 所有设置参数.

odoo 自定义视图

文件架构: model 文件夹里面主要定义了  数据表  和 读取数据的方法  代码如下: web_funnet_chart.py: # -*- coding: utf-8 -*- from odoo import api,fields,models class RunChart(models.Model): _name = 'run.chart' sales = fields.Integer() prices = fields.Integer() sale_date = fields.Date

Razor视图下使用iframe加载RDLC报表

MVC视图下默认是不支持服务器端控件的,所以,为了能够通过report viewer控件加载报表,需要在MVC视图添加嵌入的页面. 起初在stackoverflow上找到一个解决方案,见这里.不过这里的解决方案的一个最大缺陷是,不支持页面导航,也就是只能显示报表的第一页. 因为,原作者也说了,MVC页面下不支持导航控件的post back,也就无法正常工作. 看到评论里有人说iframe才可以解决多页报表的问题,于是试了试,最终成功搞定. 1.在项目中新建立WebForm1.aspx,并修改Gl

细说Sql Server中的视图(下)转载

原文:细说Sql Server中的视图(下)http://www.cnblogs.com/xbf321/archive/2009/06/19/view_two_in_sqlserver.html 1,什么是视图? 2,为什么要用视图: 3,视图中的ORDER BY; 4,刷新视图: 5,更新视图: 6,视图选项: 7,索引视图: 细说Sql Server中的视图(上)    应大家要求已在“细说Sql Server中的视图(上)”中添加“为什么要用视图”一小节.  5.更新视图 视图是一个虚拟表

cmd&amp;Linux 下使用mysql全记录

php mysql数据库常用cmd命令集 show databases; 显示数据库 create database name; 创建数据库 use databasename; 选择数据库 drop database name 直接删除数据库,不提醒 show tables; 显示表 describe tablename; 显示具体的表结构 select 中加上distinct去除重复字段 mysqladmin drop databasename 删除数据库前,有提示. 显示当前mysql版本和

myEclipse中无法在javaEE视图下创建项目的解决方案

在MyEclipse创建web项目的时候,向往常一样显示切换到javaee开发视图,然后创建web项目,但是很无奈的是创建的web项目并没有在package explorer中出现,而是在java视图下的project explorer下. 那么我是如何解决这个问题的呢? 1.首先将移除原工作空间.window->preferences->general->startup and startdown->workspaces->remove. 2.然后切换工作空间,file-&