Datables, как сортировать по отображаемым на экране mData - PullRequest
0 голосов
/ 20 сентября 2019

HI Я использую fnRender / mData, чтобы получить некоторые значения и выполнить функцию расстояния до отображения на экране.Как отсортировать данные, которые пользователь видит на экране?

Данные используют "bServerSide": true, "bProcessing": true,, но рассчитывается расстояние на стороне клиента, и мне нужно иметь возможность сделать заказ после того, как расстояние было рассчитано.на стороне клиента, если пользователь нажимает на сортировку по столбцу расстояния

 {
            "sClass": "ellipsis",
            "mData": function (oObj, type, val) {

                if ($('#lat').val() > 0 && $('#searchbox').val() != '')
                {
                    var distance = distanceTo(oObj[14], oObj[9], $('#lat').val(), $('#long').val(), "K");
                    return distance.toFixed(2);
                }
                else
                {
                    return '';
                }
            },
            "bSearchable": false },    

1 Ответ

1 голос
/ 20 сентября 2019

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

Отправьте значения #lat и #searchbox на сервер с помощью опции fnServerParams и скопируйте свою логику в сценарии на стороне сервера для достижения желаемого эффекта.

Это означает, что вам также необходимо рассчитать расстояние с помощью сценария на стороне сервера.

В качестве альтернативы, если ваш набор данных небольшой, вы можете переключиться в режим обработки на стороне клиента, и сортировка будет работать.

...