Обновление данных jQuery на стороне клиента без ajax

Я работаю над приложением ASP.NET MVC и в настоящее время повторяю список записей в виде строк таблицы для реализации jQuery DataTables плагин к нему. У меня есть следующая структура:

//Contact Card Layout:
<table id="contactTable" style="width:100%;">
    <thead>
        <tr>
            <th></th>
        </tr>
    </thead>
    <tbody>
        @for (int i = 0; i < Model.Count; i++)
        {
            <tr>
                <td>
                <!-- Contact Card -->
                    <div class="contactCard" isprimary="@Model[i].IsPrimary.SelectedValue">
                        //Contact Card UI Logic
                    </div>
                </td>
            </tr>
        }
    </tbody>
</table>

Сценарий Jquery для рендеринга в виде данных:

<script>
    $(document).ready(function () {
        var table = $('#contactTable').DataTable({
            "filter": false,                     //show-hide search box
            "paginate": true,                    //show-hide pagination control
            "pagingType": "simple_numbers",      //Pagination type; currently there are multiple styles [numbers, simple, simple_numbers, ]
            "pageLength": 3,                     //The page size to specify the length for pagination
            "lengthChange": false,               // show hide dropdown
            //"lengthMenu": [[2, 5, 10, 15, -1], [2, 5, 10, 15, "All"]],
            "info": true,                        //hide showing entries
            "drawCallback": function () {
                //var row = this.api().row('#contactTable tbody tr td .contactCard[isprimary = "Y"]').index();
                //alert(row);
            }
        });
    });
</script>

Все это работает нормально, как и требуемый пользовательский интерфейс, но есть одна проблема с повторным рендерингом таблицы в случае добавления в таблицу новой строки. У меня есть всплывающее окно Bootstrap Modal, которое вызывает метод контроллера и добавляет новую запись в модель и, следовательно, возвращает список всех записей (также обновленных/добавленных), которые отображаются в пользовательском интерфейсе в виде таблицы, но добавляются в конце стол.

Как я могу отсортировать строки в таблице данных, чтобы последняя добавленная отображалась сверху? Примечание. Я отправляю отсортированный список записей с контроллера, но он не отображается в том же порядке в пользовательском интерфейсе. В некоторых ссылках упоминается использование метода «drawCallback» Datatables для удаления и воссоздания таблицы, но у меня это не работает. Любые материалы будут действительно полезны.


person iSahilSharma    schedule 11.12.2017    source источник
comment
Почему вы не пытаетесь привязать таблицу данных jQuery к данным Json, поскольку вы можете легко обновить сетку. ссылка: - c- Sharpcorner.com/article/   -  person Saineshwar    schedule 11.12.2017
comment
Вы добавляете новую строку в таблицу и перезагружаете страницу или добавляете с помощью ajax и добавляете новый <tr> в тело таблицы?   -  person kastriotcunaku    schedule 11.12.2017
comment
Вы можете посмотреть на это -> DataTables row.add в определенный индекс   -  person davidkonrad    schedule 11.12.2017