3

这是我之前在此处发布的问题的后续行动。我有一些我们得到大量数据的情况,大约 200KB 要显示在 jqgrid 上。在这种情况下,永远不会显示最后一组数据。每条记录由换行符分割。数据格式如下:

{"data":{"data":"\tat org.aaa.aaa.aaa.aaa.aaa.aaa(aaa.java:512)[147:org.aaa.aaa.aaa:9.1.1]\n\tat aaa.aaa.aaa.aaa.aaa.aaa(aaa.java:1789)[146:org.aaa:9.1.1]\n"}}

网格的代码如下:

$("#grid").jqGrid({
    type: "GET", 
    url: "/getdata",
    datatype: "json",
    colNames: [''],
    colModel: [
       {name: 'data', align: 'left', sortable: false}
    ],
    jsonReader: {
        root: "data",
        cell: "",
        id: function () {
            return function () {
                return $.jgrid.randId();
            }
        },
        page: function() { return 1; },
        total: function() { return 1; },
        records: function(obj) { return obj.data.length; }
    },
    loadonce: false,
    viewrecords: true,
    sortname:'',
    rowNum: '9999',
    autowidth: true,
    ignoreCase: true,
    height: "auto",
    multiselect: false,
    sortable: false,
    autoencode: true,
    loadComplete: function() {
         $("tr.jqgrow:even").css("background", "#DDDDDC");
    },
    // We will handle the errors with ajax error handlers for now
    loadError: function(error){
        displayError(error.responseText);
    },
    beforeProcessing: function (data) {
         var items = data.data.split("\n"), i, l, item;
         data.logs = [];
         for (i = 0, l = items.length; i < l; i++) {
            item = $.trim(items[i]);
            if (item.length > 0) {
                data.data.push([item]);
             }
         }
    }
});

我尝试将 rowNum 设置为 '', 99999,但没有任何效果。总行数 wwas 相同的行似乎从 jqgrid 中的显示中被截断。jqgrid可以显示的数据量有没有限制?到目前为止,jqgrid 上还没有实现分页。

非常感谢任何指针。

谢谢,

阿莎

4

1 回答 1

3

首先,我建议您使用正确类型的 jqGrid 的所有输入参数。在文档中,您将找到具有"Type"列的表。列的类型rowNum是整数。所以你应该使用rowNum: 9999而不是rowNum: '9999'.

此外,我强烈建议您始终使用gridview: truejqGrid 选项。如果将所有数据放在一个页面上,这样的设置可以提高多次填充网格的性能。

同样,我不建议您对loadComplete. 它降低了 jqGrid 的性能。例如,您可以定义自定义 CSS 类

.myAltRows: { background: #DDDDDC }

并使用选项altRows: true, altclass: "myAltRows"。或者,您可以使用rowattr回调在网格的选定行上设置自定义class或自定义。style有关更多详细信息,请参阅答案

最后一句话。我不建议您包含具有默认值的选项(例如type: "GET", loadonce: false, sortname:'', multiselect: false, sortable: false)或colModel具有默认值的属性(例如align: 'left')。您应该检查文档的选项colModel选项的默认值列。

于 2013-01-30T08:43:06.433 回答