jQuery datatable c # серверная колонка сортировки по умолчанию, дающая ноль - PullRequest
0 голосов
/ 09 мая 2018

У меня есть таблица данных jquery, для которой я установил столбец сортировки по умолчанию, например:

$('#datatable-responsive').DataTable({
                "oLanguage": {
                    sProcessing: "<img src='/images/gears.svg'>"
                },
                order: ['3', 'desc'],

Обратите внимание на эту часть:

order: ['3', 'desc'],

Теперь столбец сортировки по умолчанию должен быть четвертым (0,1,2 => 3 (четвертый))

Когда я впервые загружаю страницу, я получаю правильный результат для следующих действий в C #:

var sortColumnDir  = Request["order[0][dir]"];

Выглядит хорошо в первый раз, sorcolumndir - "desc", как требуется ...

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

 var sortColumnDir  = Request["order[0][dir]"]; // this is now null for some reason ?

Когда я переключаюсь между страницами, не нажимая, чтобы попытаться изменить порядок столбца [3] в порядке возрастания, это всегда хорошо ... Но когда я пытаюсь изменить его в порядке возрастания, это вызывает исключение и возвращает ноль: (

Есть идеи, ребята, почему это может произойти? Что я тут не так делаю?

P.S. Ребята Мне нужно, чтобы этот столбец [3] всегда был в порядке убывания по умолчанию, если пользователь не щелкнул, чтобы отсортировать его иначе, или какой-то другой столбец.

Ответы [ 2 ]

0 голосов
/ 25 мая 2018

используйте это в js файле

"order": [[3, "DESC"]],

и в вашем контроллере вы можете получить столбец сортировки по умолчанию и направление

 var sortColumnIndex = Convert.ToInt32(Request["iSortCol_0"]);
 var sortDirection = Request["sSortDir_0"]; // asc or desc
0 голосов
/ 09 мая 2018

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

 var o = 0; var orders = new List<DatatablesOrder>(); 
while (!string.IsNullOrEmpty(Request["order[" + o + "][column]"])) 
{ 
   orders.Add(new DatatablesOrder { Column = Convert.ToInt32(form["order[" + o +"][column]"]), 
   Dir = Request["order[" + o + "][dir]"] });
   o++; 
} 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...