Я использую jqgrid treeview с бэкэндом asp.net-mvc и вижу, что GUI позволяет щелкать по другим столбцам для сортировки, но я не могу найти документацию или примеры того, как это реализовать.
Когда я щелкаю по заголовку столбца, появляется уведомление «Загрузка ...», но ни одно из моих действий на стороне сервера не вызывается.
Я использовал httpwatch и не вижу вызовов, пытающихся попасть на сервер..
Поддерживает ли jqgrid treeview сортировку (это будет просто сортировка верхнего уровня в дереве)?
Вот мой код:
$("#treegrid").jqGrid({
url: '/MyController/GetData' + GetQuery(),
datatype: 'json',
footerrow: true,
userDataOnFooter: true,
mtype: 'GET',
rowNum: 2000,
colNames: ["ID", "Description", "Total 1"],
colModel: [{
name: 'id',
index: 'id',
width: 1,
hidden: true,
key: true
}, {
name: 'desc',
width: 240,
index: 'desc',
hidden: false,
sortable: true
},
{
name: 'total1',
sorttype: 'int',
index: 'total1',
unformat: originalValueUnFormatter,
formatter: bookMapFormatter,
align: "right",
width: 60,
hidden: false,
sortable: true
}],
treeGridModel: 'adjacency',
height: 'auto',
loadComplete: function (data) {
},
pager: "#ptreegrid",
treeGrid: true,
ExpandColumn: 'desc',
ExpandColClick: true,
caption: "My Treegrid"
});
function bookMapFormatter(cellvalue, options, rowObject) {
return booksFormatterEx(cellvalue, options, rowObject, "MyAction");
}
function booksFormatterEx(cellvalue, options, rowObject, actionName) {
var regularURL = '/MyController/' + actionName + GetQuery() + '&key=' + rowObject[0];
return "<a target='_blank' href='" + regularURL + "' >" + cellvalue + "</a>";
}
Также, если это полезно, я сериализировал результаты json (используя класс .net JavascriptSerializer) (это просто представление верхнего уровня, когда я возвращаюсь на сервер, когда пользователи переходят вниз)
{"page":1,
"total":1,
"records":2,
"userdata":{"desc":"Total:","total1":"10,753"},
"rows":[{
"id":"Group1","cell":["Group1","1 - 1 System(s)",723, 0, null, false, false, true]},
{"id":"Group2","cell":["Group2","2 - 2 System(s)",2120, 0, null, false, false, true]},
{"id":"Group3","cell":["Group3","3 - 3 System(s)",2017, 0, null, false, false, true]},
{"id":"Group4","cell":["Group4","4 - 4 System(s)",1181, 0, null, false, false, true]},
{"id":"Group5","cell":["Group5","5 - 5 System(s)",4712, 0, null, false, false, true]}]}