Angular-Datatables, обеспечивающие разбиение на страницы сервера - PullRequest
0 голосов
/ 28 июня 2018

У меня очень большой набор данных, отображаемый с помощью angular-datatables, и я пытаюсь включить нумерацию на стороне сервера с помощью плагина datatables в моем угловом компоненте. Вызов API для основной службы ASP.NET, которую я также пишу

Кажется, я не могу найти много документации о том, как это сделать, и я относительно новичок в плагине datatables.

Моя декларация API GET:

public async Task<IActionResult> GetOperations(
   int pageIndex = 0, int pageSize = 50, string query = null)

Это использует pageIndex и pageSize для вызова моей логики разбиения на страницы репозитория.

Мое объявление компонента с данными может быть таким же, как описано в документации angular-datables angular way: https://l -lin.github.io / angular-datatables / # / basic / angular-way

Должен ли я использовать AJAX? Есть ли способ сделать эту работу красиво в угловом? Если это так, мне нужно что-то конкретное, что должно быть сделано в контроллере API, что поможет?

Я также не совсем продал компонент пользовательского интерфейса angular-datatables, если вы знаете что-то, что может работать лучше для отображения и редактирования большого набора данных, не стесняйтесь рекомендовать его.

1 Ответ

0 голосов
/ 04 октября 2018

Основная цель здесь - создать модель, отражающую пост-модель таблиц данных, чтобы ее можно было решить позже с помощью связывателя модели в вашем контроллере, и да, вам определенно следует пойти по пути ajax. Я сделал это недавно, и это сработало как надо.

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

Так что ваш контроллер может выглядеть примерно так.

    [HttpPost]
    [Route("GetTableData")]
    public IActionResult GetEmployees([FromBody] DataTablesOptions model)
    {
        var propertyMappings = _propertyMappingService.GetMappings<Employee, EmployeeDto>();
        var employees = _employeeRepository.GetEmployees()
            .ApplySearch(model, propertyMappings)
            .ApplySort(model, propertyMappings)
            .ProjectTo<EmployeeDto>(_mapper.ConfigurationProvider)
            .ToPagedList(model);

        return DataTablesResult(employees);
    }

Пожалуйста, посмотрите на мой код, так как я недавно реализовал полную обработку на стороне сервера с помощью angular-datatables и asp net core webapi.

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

https://bitbucket.org/mateusz_kikmunter/generic-angular-service/src/master/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...