加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-mvc – 如何在jqgrid中创建两个页脚行

发布时间:2020-12-16 03:17:35 所属栏目:asp.Net 来源:网络整理
导读:我正在使用ASP.NET WEB API处理jqgrid. 我想在jqgrid的页脚中添加两行. 所以在网上进行一点搜索就把我带到了这个链接(2010),上面写着“这是不可能的”,我正在考虑的答案是2010年,可能到现在某些事情/一些解决方法可能已经成为可能. 我想在页脚中显示什么?
我正在使用ASP.NET WEB API处理jqgrid.

我想在jqgrid的页脚中添加两行.

所以在网上进行一点搜索就把我带到了这个链接(2010),上面写着“这是不可能的”,我正在考虑的答案是2010年,可能到现在某些事情/一些解决方法可能已经成为可能.

我想在页脚中显示什么?

我想显示两行

>当前页面中预设数据的总和
>所有页面中的数据总计

我能够传递数据并读取数据,问题是如何使用这些数据并在jqgrid中创建两个页脚行.

有什么想法吗 ?

解决方法

我发现这个问题很有意思,所以我创建了 the demo,它演示了一个可能实现的两行页脚:

主要思想是在表格中添加标准页脚已存在的第二行.为了消除jqGrid代码的其他部分可能出现的问题,我将自定义行中的footrow类名替换为myfootrow.要为第二个页脚提供与原始tooter相同的CSS设置,我从ui.jqgrid.css中包含了.ui-jqgrid tr.footrow td的副本,其中包含与.ui-jqgrid tr.myfootrow td相同的定义:

.ui-jqgrid tr.myfootrow td {
    font-weight: bold;
    overflow: hidden;
    white-space:nowrap;
    height: 21px;
    padding: 0 2px 0 2px;
    border-top-width: 1px;
    border-top-color: inherit;
    border-top-style: solid;
}

您将在下面找到完整的代码

footerrow: true,loadComplete: function () {
    var $this = $(this),sum = $this.jqGrid("getCol","amount",false,"sum"),$footerRow = $(this.grid.sDiv).find("tr.footrow"),localData = $this.jqGrid("getGridParam","data"),totalRows = localData.length,totalSum = 0,$newFooterRow,i;

    $newFooterRow = $(this.grid.sDiv).find("tr.myfootrow");
    if ($newFooterRow.length === 0) {
        // add second row of the footer if it's not exist
        $newFooterRow = $footerRow.clone();
        $newFooterRow.removeClass("footrow")
            .addClass("myfootrow ui-widget-content");
        $newFooterRow.children("td").each(function () {
            this.style.width = ""; // remove width from inline CSS
        });
        $newFooterRow.insertAfter($footerRow);
    }
    $this.jqGrid("footerData","set",{invdate: "Total (page):",amount: sum});

    // calculate the value for the second footer row
    for (i = 0; i < totalRows; i++) {
        totalSum += parseInt(localData[i].amount,10);
    }
    $newFooterRow.find(">td[aria-describedby=" + this.id + "_invdate]")
        .text("Grand Total:");
    $newFooterRow.find(">td[aria-describedby=" + this.id + "_amount]")
        .text($.fmatter.util.NumberFormat(totalSum,$.jgrid.formatter.number));
}

在代码中,我在列invdate和页脚数量中设置了附加信息.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读