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