Я реализовал jsGrid и выполнил фильтрацию на стороне сервера. Теперь я хочу отправить параметр сортировки на сторону сервера и выполнить сортировку на стороне сервера по щелчку столбца.Вот как я реализовал сетку -
var db = {
loadData: function(filter) {
var bFilter = [];
var d = $.Deferred();
console.log("sorting:", filter.sortField, filter.sortOrder);
for (var prop in filter) {
if (prop != "sortField" && prop != "sortOrder") {
bFilter.push({
"Name": prop,
"Value": filter[prop]
})
} else{
var sorting ={ "Name": filter["sortField"], "Type": filter["sortOrder"] };
}
}
$.ajax({
url: "http://abc/abc",
dataType: "json",
data: JSON.stringify({
"filter": bFilter,
"sorting": sorting
})
}).done(function(response) {
d.resolve(response.value);
});
return d.promise();
},
};
$("#jsGrid").jsGrid({
height: 300,
width: "100%",
filtering: true,
editing: true,
sorting: true,
paging: true,
autoload: true,
pageSize: 2,
pageButtonCount: 5,
deleteConfirm: "Do you really want to delete the client?",
controller: db,
fields: [{
name: "Name",
type: "text",
width: 150
},
{
name: "Age",
type: "number",
width: 50
},
{
name: "Address",
type: "text",
width: 200
},
{
type: "control"
}
]
});
Как бы я вызвал тот же метод loaddata по щелчку заголовка для сортировки, чтобы выполнить фильтрацию и сортировку вместе на стороне сервера.Как отключить сортировку на стороне клиента и сделать это на стороне сервера так же, как фильтрация.Если я установлю sorting:false
, он удалит щелчок из заголовков столбцов. Я хочу сохранить это также.