【问题标题】:jqgrid hideCol not hiding the footer columnsjqgrid hideCol 不隐藏页脚列
【发布时间】:2012-02-27 09:16:56
【问题描述】:

jqgrid hideCol 方法似乎没有反映在页脚中。 也就是说,如果我使用 hideCol 方法隐藏 B,则说我有 A B 和 C 列,那么页脚会不正确,因为页脚 B 没有被隐藏。 我在这里遗漏了什么还是不支持?关于页脚,我找不到任何关于 hideCol 的提及。

给出不起作用的示例代码 我拿了样本JqGrid Samples 添加了页脚,然后在名称列上进行了隐藏。这里的页脚没有隐藏相应的列。

var mydata = [
    { id: "1", invdate: "2010-05-24", name: "test", note: "note", tax: "10.00", total: "2111.00" },
    { id: "2", invdate: "2010-05-25", name: "test1", note: "note2", tax: "20.00", total: "320.00" },
    { id: "3", invdate: "2007-09-01", name: "test1", note: "note3", tax: "30.00", total: "430.00" },
    { id: "4", invdate: "2007-10-04", name: "test", note: "note", tax: "10.00", total: "210.00" },
    { id: "5", invdate: "2007-10-05", name: "test2", note: "note2", tax: "20.00", total: "320.00" },
    { id: "6", invdate: "2007-09-06", name: "test3", note: "note3", tax: "30.00", total: "430.00" },
    { id: "7", invdate: "2007-10-04", name: "test", note: "note", tax: "10.00", total: "210.00" },
    { id: "8", invdate: "2007-10-03", name: "test2", note: "note2", amount: "300.00", tax: "21.00", total: "320.00" },
    { id: "9", invdate: "2007-09-01", name: "test3", note: "note3", amount: "400.00", tax: "30.00", total: "430.00" },
    { id: "11", invdate: "2007-10-01", name: "test", note: "note", amount: "200.00", tax: "10.00", total: "210.00" },
    { id: "12", invdate: "2007-10-02", name: "test2", note: "note2", amount: "300.00", tax: "20.00", total: "320.00" },
    { id: "13", invdate: "2007-09-01", name: "test3", note: "note3", amount: "400.00", tax: "30.00", total: "430.00" },
    { id: "14", invdate: "2007-10-04", name: "test", note: "note", amount: "200.00", tax: "10.00", total: "210.00" },
    { id: "15", invdate: "2007-10-05", name: "test2", note: "note2", amount: "300.00", tax: "20.00", total: "320.00" },
    { id: "16", invdate: "2007-09-06", name: "test3", note: "note3", amount: "400.00", tax: "30.00", total: "430.00" },
    { id: "17", invdate: "2007-10-04", name: "test", note: "note", amount: "200.00", tax: "10.00", total: "210.00" },
    { id: "18", invdate: "2007-10-03", name: "test2", note: "note2", amount: "300.00", tax: "20.00", total: "320.00" },
    { id: "19", invdate: "2007-09-01", name: "test3", note: "note3", amount: "400.00", tax: "30.00", total: "430.00" },
    { id: "21", invdate: "2007-10-01", name: "test", note: "note", amount: "200.00", tax: "10.00", total: "210.00" },
    { id: "22", invdate: "2007-10-02", name: "test2", note: "note2", amount: "300.00", tax: "20.00", total: "320.00" },
    { id: "23", invdate: "2007-09-01", name: "test3", note: "note3", amount: "400.00", tax: "30.00", total: "430.00" },
    { id: "24", invdate: "2007-10-04", name: "test", note: "note", amount: "200.00", tax: "10.00", total: "210.00" },
    { id: "25", invdate: "2007-10-05", name: "test2", note: "note2", amount: "300.00", tax: "20.00", total: "320.00" },
    { id: "26", invdate: "2007-09-06", name: "test3", note: "note3", amount: "400.00", tax: "30.00", total: "430.00" },
    { id: "27", invdate: "2007-10-04", name: "test", note: "note", amount: "200.00", tax: "10.00", total: "210.00" },
    { id: "28", invdate: "2007-10-03", name: "test2", note: "note2", amount: "300.00", tax: "20.00", total: "320.00" },
    { id: "29", invdate: "2007-09-01", name: "test3", note: "note3", amount: "400.00", tax: "30.00", total: "430.00" }
];
function drawGrid() {
    jQuery("#list482").jqGrid({
        onSortCol: function (index, columnIndex, sortOrder) {
            alert(index + ' ' + columnIndex + ' ' + sortOrder);
            return 'stop';
        },
        data: mydata,
        datatype: "local",
        height: 'auto',
        rowNum: 30,
        sortable: true,
        rowList: [10, 20, 30],
        colNames: ['Inv No', 'Date', 'Client', 'Amount', 'Tax', 'Total', 'Notes'],
        colModel: [
    { name: 'id', index: 'id', width: 60, sorttype: "int" },
    { name: 'invdate', index: 'invdate', width: 90, sorttype: "date", formatter: "date" },
    { name: 'name', width: 100, editable: true },
    { name: 'amount', index: 'amount', width: 80, align: "right", sorttype: "float", formatter: "number", editable: true },
    { name: 'tax', index: 'tax', width: 80, align: "right", sorttype: "float", editable: true },
    { name: 'total', index: 'total', width: 80, align: "right", sorttype: "float" },
    { name: 'note', index: 'note', width: 150, sortable: false }
],
        viewrecords: true,
        grouping: false,
        groupingView: {
            groupField: ['name'],
            groupColumnShow: [true],
            groupText: ['<b>{0} - {1} Item(s)</b>']
        },
        footerrow: true,
        caption: "Hide Grouping Column",
        onCellSelect: function () { alert('focus'); }
    });
    var grid = jQuery("#list482");
    var col = 0;
    for (var row = 0; row < mydata.length; row++) {
        grid.addRowData(row + 1, { id: '' });
        grid.setCell(row + 1, col, mydata[row].id);
        grid.setCell(row + 1, col + 1, mydata[row].invdate);
        grid.setCell(row + 1, col + 2, mydata[row].name);
        grid.setCell(row + 1, col + 3, mydata[row].amount);
        grid.setCell(row + 1, col + 4, mydata[row].tax);
        grid.setCell(row + 1, col + 5, mydata[row].total);
        grid.setCell(row + 1, col + 6, mydata[row].note);
    }
    grid.footerData('set', { amount: 2000, tax: 5000, total: 90000 });
    grid.hideCol(['name']);
    grid.trigger("reloadGrid");
}
$(document).ready(function () {
    drawGrid();
});

【问题讨论】:

  • hideCol 也应该隐藏页脚行中的相应列(参见代码的the line)。如果您有一个不起作用的示例,您应该发布相应的演示。
  • 感谢您指出这一点。我会尝试查看我的代码,我把事情搞砸了。
  • 不客气!在任何情况下,如果您怀疑自己发现了错误,您应该发布可用于重现问题的完整代码。
  • 刚刚按照您的建议添加了代码示例

标签: javascript jqgrid


【解决方案1】:

在将 jqgrid 从 4.1 升级到 4.3.1 后,这个问题似乎得到了解决。 感谢您的所有时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-12
    • 1970-01-01
    • 2011-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多