javascript - 如何将数据放在总 "FooterRow"上?

标签 javascript jquery jqgrid

我正在使用 jqGrid 插件 4.6.0jQuery 1.11.0 来生成需要的报告汇总中的总数。我只能生成按列分组的总数。 jqGrid 有一个名为 footerrow 的属性,它应该是网格的摘要。

我需要将整个报表的总数放在 FooterRow 中,但我做不到。

$("#respostaRelatorio").jqGrid({
    url: urlRelatorio + "?" + dadosRelatorio,
    colModel: modeloColunas,
    mtype: "POST",
    altRows: true,
    datatype: "json",
    loadonce: true,
    height: "auto",
    width: 1130,
    rowNum: 10,
    rowList: [ 10, 20, 30, 40, 50 ],
    viewrecords: true,
    pager: "#paginacao",
    sortorder: "asc",
    shrinkToFit: false,
    headertitles: true,
    loadui: "disable",
    rownumbers: true,
    autoencode: true,
    caption: "Resultados encontrados",
    deselectAfterSort: true,
    gridview: true,
    idPrefix: "id",
    rowTotal: 4000,
    sortable: true,
    toppager: true,
    resizable: true,
    grouping: true,
    groupingView: {
        groupField: [ 'loginMedico' ],
        groupCollapse: false,
        groupOrder: [ 'asc' ],
        groupSummary: [ true ],
        groupDataSorted: true
    },
    footerrow: true,
    userDataOnFooter: true
});

var modeloColunas = [
    { name: "loginMedico", index: "loginMedico", jsonmap: "loginMedico", label: "Login Médico", sortable: true, sorttype: "text", summaryType: "count", summaryTpl: "total" },
    { name: "nomeMedico", index: "nomeMedico", jsonmap: "nomeMedico", label: "Nome do Médico", sortable: true, sorttype: "text" },
    { name: "perfilMedico", index: "perfilMedico", jsonmap: "perfilMedico", label: "Perfil Médico", sortable: true, sorttype: "text"},
    { name: "tipoSolicitacao", index: "tipoSolicitacao", jsonmap: "tipoSolicitacao", label: "Tipo da Solicitação", sortable: true, sorttype: "text" },
    { name: "cancelada", index: "cancelada", jsonmap: "cancelada", label: "Cancelada", sortable: true, sorttype: "int" },
    { name: "liberada", index: "liberada", jsonmap: "liberada", label: "Liberada", sortable: true, sorttype: "int", summaryType: "sum" },
    { name: "negada", index: "negada", jsonmap: "negada", label: "Negada", sortable: true, sorttype: "int", summaryType: "sum" },
    { name: "pendente", index: "pendente", jsonmap: "pendente", label: "Pendente", sortable: true, sorttype: "int", summaryType: "sum" },
    { name: "total", index: "total", jsonmap: "total", label: "Total", sortable: true, sorttype: "int", summaryTpl: "total"} ];

最佳答案

交叉发布(和翻译)我的 answer on SO-PT (written in Portuguese) :


查看 this example .

基本上,您需要向jqGrid 添加一个loadComplete 函数,它将用于构建footerData:

loadComplete: function () {
    var $self = $(this);
    var sumCanceled = $self.jqGrid("getCol", "cancelada", false, "sum");
    var sumReleased = $self.jqGrid("getCol", "liberada", false, "sum");
    var sumDenied = $self.jqGrid("getCol", "negada", false, "sum");
    var sumPending = $self.jqGrid("getCol", "pendente", false, "sum");

    $self.jqGrid("footerData", "set", {
        loginMedico: "Total:", 
        cancelada: sumCanceled, 
        liberada: sumReleased,  
        negada: sumDenied,
        pendente: sumPending
    });
}

来源:getting the sum using footerdata on jqgrid

关于javascript - 如何将数据放在总 "FooterRow"上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22332506/

相关文章:

javascript - 单击页面的关闭按钮时,我想清除所有选择框值

javascript - 找不到 TypeScript 模块

javascript - 为什么我的选项标签没有附加到动态生成的选择标签上

javascript - 如何重置 'no' 上的调查问卷

javascript - 如何分析 JQuery/JQGrid

javascript - 句子分成两部分

jquery - 在列表项中查找重复的类 - .filter() 显示它们,隐藏其余的

javascript - Jquery 行删除对我不起作用,如何设置?

twitter-bootstrap - 用于 Twitter Bootstrap 的 jqGrid

javascript - jqGrid 中的隐藏列