【问题标题】:Free-jqgrid Toolbar searching and Header GroupingFree-jqgrid 工具栏搜索和标题分组
【发布时间】:2018-11-13 07:38:33
【问题描述】:

我使用的是free-jqgrid v4.15.5,工具栏搜索和标题分组有问题。

这是我正在使用的示例代码和问题

$(document).ready(function () {
        var myData = [
                { id: "1", invdate: "2007-10-01", name: "test", note: "note", amount: "200.00", tax: "10.00", closed: true, ship_via: "TN", total: "210.00" },
                { id: "2", invdate: "2007-10-02", name: "test2", note: "note2", amount: "300.00", tax: "20.00", closed: false, ship_via: "FE", total: "320.00" },
                { id: "3", invdate: "2007-09-01", name: "test3", note: "note3", amount: "400.00", tax: "30.00", closed: false, ship_via: "FE", total: "430.00" },
                { id: "4", invdate: "2007-10-04", name: "test4", note: "note4", amount: "200.00", tax: "10.00", closed: true, ship_via: "TN", total: "210.00" },
                { id: "5", invdate: "2007-10-31", name: "test5", note: "note5", amount: "300.00", tax: "20.00", closed: false, ship_via: "FE", total: "320.00" },
                { id: "6", invdate: "2007-09-06", name: "test6", note: "note6", amount: "400.00", tax: "30.00", closed: false, ship_via: "FE", total: "430.00" },
                { id: "7", invdate: "2007-10-04", name: "test7", note: "note7", amount: "200.00", tax: "10.00", closed: true, ship_via: "TN", total: "210.00" },
                { id: "8", invdate: "2007-10-03", name: "test8", note: "note8", amount: "300.00", tax: "20.00", closed: false, ship_via: "FE", total: "320.00" },
                { id: "9", invdate: "2007-09-01", name: "test9", note: "note9", amount: "400.00", tax: "30.00", closed: false, ship_via: "TN", total: "430.00" },
                { id: "10", invdate: "2007-09-08", name: "test10", note: "note10", amount: "500.00", tax: "30.00", closed: true, ship_via: "TN", total: "530.00" },
                { id: "11", invdate: "2007-09-08", name: "test11", note: "note11", amount: "500.00", tax: "30.00", closed: false, ship_via: "FE", total: "530.00" },
                { id: "12", invdate: "2007-09-10", name: "test12", note: "note12", amount: "500.00", tax: "30.00", closed: false, ship_via: "FE", total: "530.00" }
        ],
            myGrid = $("#list");

        myGrid.jqGrid({
            datatype: 'local',
            data: myData,
            colNames: ['Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Closed', 'Shipped via', 'Notes'],
            colModel: [
                { name: 'id', index: 'id', width: 70, align: 'center', sorttype: 'int' },
                {
                    name: 'invdate', index: 'invdate', width: 80, align: 'center', sorttype: 'date',
                    formatter: 'date', formatoptions: { newformat: 'd-M-Y' }, datefmt: 'd-M-Y'
                },
                { name: 'name', index: 'name', width: 70 },
                { name: 'amount', index: 'amount', width: 100, formatter: 'number', align: 'right' },
                { name: 'tax', index: 'tax', width: 70, formatter: 'number', align: 'right' },
                { name: 'total', index: 'total', width: 120, formatter: 'number', align: 'right' },
                {
                    name: 'closed', index: 'closed', width: 110, align: 'center', formatter: 'checkbox',
                    edittype: 'checkbox', editoptions: { value: 'Yes:No', defaultValue: 'Yes' },
                    stype: 'select', searchoptions: { sopt: ['eq', 'ne'], value: ':All;true:Yes;false:No' }
                },
                {
                    name: 'ship_via', index: 'ship_via', width: 120, align: 'center', formatter: 'select',
                    edittype: 'select', editoptions: { value: 'FE:FedEx;TN:TNT;IN:Intim', defaultValue: 'Intime' },
                    stype: 'select', searchoptions: { value: ':All;FE:FedEx;TN:TNT;IN:Intim' }
                },
                { name: 'note', index: 'note', width: 100, sortable: false }
            ],
            rowNum: 10,
            rowList: [5, 10, 20],
            //pager: '#pager',
            gridview: true,
            ignoreCase: true,
            rownumbers: false,
            sortname: 'invdate',
            viewrecords: true,
            sortorder: 'desc',
            //caption: 'Just simple local grid',
            height: '100%'
        });
        myGrid.jqGrid('filterToolbar', { stringResult: true, searchOnEnter: false, defaultSearch: "cn" });

        myGrid.jqGrid('setGroupHeaders', {
            useColSpanStyle: true, groupHeaders:
                [
                    { startColumnName: 'invdate', numberOfColumns: 5, titleText: "Group column 1" },
                    { startColumnName: 'closed', numberOfColumns: 3, titleText: "Group column 2" },
                ]
        });

    });

如果只有一个标题分组级别,则网格效果很好

当我添加更多标题分组级别时,工具栏搜索出现问题

free-jqgrid的这两个特性有什么冲突吗?

谁能帮我解决这个问题?非常感谢。

【问题讨论】:

标签: jquery jqgrid free-jqgrid


【解决方案1】:

我可以确认,setGroupHeaders 的第二次调用,在您的参数组合中,在某些列上设置了错误的 rowspan 属性值。我可以建议您作为一种解决方法,在调用setGroupHeaders 后手动解决问题。在你的群体中,它会是

$("#list_invdate,#list_closed,#list_ship_via,#list_note,#list_name").attr("rowspan", "2");

查看修改后的演示https://plnkr.co/edit/mNtUtkUCSh3WCFEtzjdu?p=preview

【讨论】:

  • 我可以解决在配置中设置rowspan 的问题吗?
  • 我为两个组都设置了useColSpanStyle = false,然后就可以了。这是正确的解决方案吗?
  • @Tommy1209:你指的是哪个“配置”?如果使用useColSpanStyle: true,则setGroupHeaders 仅根据最后一次调用setGroupHeadersgroupHeaders 选项 计算rowspan 值。我们可以看到,在你的情况下计算是错误的。您当然可以使用useColSpanStyle: false,但您会得到another 的网格标题外观。是你想要的吗?或者,您可以像我建议的那样修复 rowspan 的值。网格标题的最终外观现在应该是正确的。我认为这是最好的解决方法,我可以建议您。
  • 我理解你,奥列格。我会将您的建议应用于我的问题。太感谢了!祝你有美好的一天,奥列格!
  • @Tommy1209:不客气!汤米也祝你有个愉快的一天。
猜你喜欢
  • 2019-05-11
  • 1970-01-01
  • 2012-06-04
  • 2016-08-15
  • 2011-08-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-21
相关资源
最近更新 更多