Таблицы данных jQuery, отображаемые с упорядочением django, не работают

#jquery #django #datatables #datatables-1.10

#jquery #django #таблицы данных #таблицы данных-1.10

Вопрос:

Кажется, я не могу упорядочить эту таблицу по щелчку мыши. Приложение извлекает таблицу из Django и успешно ее отображает. Но когда я иду дальше и щелкаю стрелки в верхней части столбцов таблицы, в окне появляется надпись «обработка», но переупорядочения не происходит. Когда я отключаю serverSide программно, чтобы это происходило только в первый раз, вызов ajax происходит в любом случае.

     $(document).ready( function () {
        $.fn.dataTable.ext.errMode = 'throw';
        var table = $('#{{ grid_id }}').DataTable({
            "paging": {{paging}}
            ,"searching": false
            ,"info": true
            ,"stateSave": false
            ,"orderable": true
            ,"ordering": true
            ,"processing": true
            ,"serverSide": true
            {% if ajax_url is not None %}
            ,"ajax": {
                /* "type": "POST", */
                "url": "{{ ajax_url }}",
                "dataSrc": "results",
                "data": function (d) {
                    d.customParam = "custom";
                }
            }{% endif %}{% if column_list is not None %}
            ,"columns": [
                {% for col in column_list %} { "title":"{{ col.title }}", "data": "{{ col.data }}"
                {% if col.href is not None %}, fnCreatedCell: function (nTd, sData, oData, iRow, iCol) { $(nTd).html("<a href='{{col.href}}" oData.{{ col.href_data_attr }} "'>" oData.{{ col.data }} "</a>");}{% endif %}
                },{% endfor %}
            ]
            {% endif %}
        });
    });
  

Комментарии:

1. Просто для проверки: при использовании обработки на стороне сервера именно сервер предоставляет логику сортировки (и логику подкачки и фильтрации), а не таблицы данных. Ваше приложение Django делает это?

2. итак, если я изначально извлекаю данные с сервера, могу ли я не изменить их, чтобы использовать сортировку таблиц данных при последующих отправлениях, изменив значение на стороне сервера на false?

3. AFAIK, вы не можете изменить serverSide параметр DataTable после инициализации DataTable (такого вызова API нет). Вы должны уничтожить таблицу и повторно инициализировать ее с новыми настройками (и новыми данными). Я заметил, что вы упомянули , когда я программно отключаю серверную часть… — можете ли вы показать, как вы это делаете?