Серверная обработка динамических столбцов - PullRequest
0 голосов
/ 05 апреля 2019

Путь на стороне сервера выдает ошибку 404, где путь такой же, как и при начальной загрузке таблицы. Таблица уничтожается, а столбцы динамически изменяются.

Я успешно применяю обработку на стороне сервера, где у меня есть статические столбцы. Ранее я создавал таблицу динамически без обработки на стороне сервера, но нагрузка сейчас слишком велика для его обработки. Поэтому я перешел на SQL-пейджинг с конфигурацией обработки на стороне сервера, но он не будет загружать таблицу, даже думая, что путь такой же, как и при первоначальной загрузке таблицы, но с одним статическим столбцом. Я использую версию 1.10.15 из-за того, как долго я использую библиотеку, и у меня есть много таблиц, которые меня беспокоят, больше не будет работать, если я обновлюсь. Не уверен, что обновление тоже решит проблему.

Код JQuery Datatables

var oTable = $("#InvoiceProcessing").DataTable({
                jQueryUI: true,
                pagingType: "full_numbers",
                responsive: true,
                "scrollX": true,
                "bServerSide": true,
                "sAjaxSource": "@Url.Action("GetInvoiceProcessing", "InvoiceProcessing")?clientId=" + cId + "&summaryDate=" + sumDate + "&processedDate=" + procDate + "&accountNumber=&invoiceNumber=",
                "bProcessing": true,
                "destroy": true,
                lengthMenu: [[25, 50, 100], [25, 50, 100]],
                "autoWidth": true
            });

Подпись метода C # - Этот метод не получает удар

public async Task<ActionResult> GetInvoiceProcessing(Guid? clientId, DateTime? summaryDate, DateTime? processedDate, DataTableParamModel param, string accountNumber = "", string invoiceNumber = "")

Мне нужно, чтобы подкачка отображала полный размер запроса. Я использую пейджинг SQL, который возвращает общее количество записей и только длину страницы данных. Если бы я мог выполнить это без обработки на стороне сервера, я бы тоже был этому доволен.

1 Ответ

0 голосов
/ 15 апреля 2019

Я смог использовать информацию, предоставленную Priyank Panchal, но изменил решение в предложении, чтобы удовлетворить мои потребности.

Я не смог использовать его как есть, потому что столбцы, которые я генерирую для сетки, динамически управляются данными и поэтому не могут быть предварительно определены перед загрузкой.

Для этого нужно загрузить сетку тремя разными способами.

  1. Сначала я загружаю его только одним полем, которое идентифицирует его использование с сообщением по умолчанию Datatables «Нет доступных записей».
  2. Вторая загрузка воссоздает сетку после выбора клиента, которая определяет необходимые поля, и она перезагружается с правильной структурой.
  3. Наконец, я перезагружаю сетку с другим выбором пользователем, который определяет, как данные фильтруются.

При этом также требуется скрыть первый столбец, что я делаю с помощью атрибута "columnDefs" конфигурации Datatables.

Последним требованием было предоставить дополнительные поля для кнопок редактирования и удаления.

Это было достигнуто с помощью атрибута "columnDefs", а также ссылки на таблицу следующим образом: "aTargets": [oTable.columns () [0] .length - 2].Это дало возможность добавить его сначала в последний столбец, а затем в другой.

...