Загрузка локальных данных JSON в jQgrid без AddJsonRows

Я использую метод addJsonRows для добавления локальных данных в jQgrid. Поскольку этот метод отключает сортировку, мне нужно другое решение. Одно ограничение: я не могу установить URL-адрес и получить данные с сервера, потому что данные были переданы через другой компонент.

Нижеследующий фрагмент поясняет ситуацию. Прокомментированная строка показывает ограничение, я заменил его, определив локальную переменную, чтобы иметь тестовый пример.

<script type="text/javascript" language="javascript">
    function loadPackageGrid() {
    // Get package grid data from hidden input.
    // var data = eval("("+$("#qsmId").find(".qsm-data-packages").first().val()+")");
        var data =  {
            "page": "1",
            "records": "2",
            "rows": [
                { "id": "83123a", "PackageCode": "83123a" },
                { "id": "83566a", "PackageCode": "83566a" }
            ]
        };

        $("#packages")[0].addJSONData(data);
    };

    $(document).ready(function() {
        $("#packages").jqGrid({
            colModel: [
                { name: 'PackageCode', index: 'PackageCode', width: "110" },
                { name: 'Name', index: 'Name', width: "300" }
            ],
            pager: $('#packagePager'),
            datatype: "local",
            rowNum: 10000,
            viewrecords: true,
            caption: "Packages",
            height: 150,
            pgbuttons: false,
            loadonce: true
        });
    });
</script>

Интересно, как я мог бы сделать это другим (лучшим) способом, чтобы сохранить функцию сортировки. Я пробовал что-то с опцией данных, но безрезультатно.

28
задан Oleg 26 July 2011 в 15:32
поделиться