Сортированный статический список не отображается в таблице данных jQueryJquery

Программирование на jquery
Ответить
Anonymous
 Сортированный статический список не отображается в таблице данных jQuery

Сообщение Anonymous »

Я использую jQuery Datatable в своем приложении ASP.NET Core MVC C#. Он загружает данные из базы данных. Я использую вызов Ajax для загрузки данных в таблицу данных jQuery. Я могу сортировать статический список по возрастанию и убыванию. Но это не отражается в таблице данных. Сортировка происходит при нажатии на значки сортировки в столбцах заголовков таблицы данных.
В моем .cshtml:
function resetDataTable() {

myDataTable = $("#example").DataTable({
paging: false,
searching: false,
serverSide: true,
sortable: true,
filter: true,
searchDelay: 1000,
lengthMenu: [[5, 10, 50, -1], [5, 10, 50, "All"]],
language: { searchPlaceholder: "Brand, Buying Group" },
scrollCollapse: true,
ajax: {
url: '@Url.Action("LoadDoors", "DOOR_MANAGEMENT")',
type: 'GET',
datatype: 'json',
headers: { 'RequestVerificationToken': 'your json token' },
data: (d) => {
console.log(d)
return { draw: d.draw, start: d.start, length: d.length, search: d.search.value,
FilterByColumn: d.columns[d.order[0].column].data, ASC_DSEC: d.order[0].dir}
},
beforeSend: () => { ShowLoader(); },
complete: () => { HideLoader(); },
dataSrc: (json) => {
json = json.data;
return json;
}
},
columnDefs: [{ className: "dt-center", targets: [1, 2, 3] }],
columns: [
{ data: 'setting_id', title: 'SETTING ID', autoWidth: false, visible: false },
{ data: 'brand', title: 'Brand Code', autoWidth: true, searchable: true },
{ data: 'buying_group', title: 'Buying Group', autoWidth: true },
{ data: 'setting_name', title: 'Setting Name', autoWidth: true },
{ data: 'is_active', title: 'Is Active', autoWidth: true },
{ data: 'data_model', title: 'Data Model', autoWidth: true, orderable: false },
{ data: 'tracking_weeks', title: 'Tracking Weeks', autoWidth: true },
{ data: 'updated_user', title: 'Updated User', autoWidth: true },
{ data: 'updated_date', title: 'Updated Date', autoWidth: true },
],

initComplete: function () {
configFilter(this, [0, 1, 3, 4, 5, 6, 7]);
}
});
}

А сортировка осуществляется с помощью отражения в методе контроллера. Приведенная ниже часть работает нормально.
Но отсортированный список не отражается в таблице данных JQuery пользовательского интерфейса. В этом проблема. Как это сделать?
recordsTotal = StaticData.ListDoorData.Count();

if (!String.IsNullOrEmpty(FilterByColumn))
{
PropertyInfo propInfo = typeof(DoorDetails).GetProperty(FilterByColumn, BindingFlags.Public | BindingFlags.Instance);

if (propInfo != null)
{
switch (ASC_DSEC.ToUpper())
{
case "ASC":
StaticData.ListDoorData = StaticData.ListDoorData.OrderBy(x => propInfo.GetValue(x, null)).ToList();
break;

case "DESC":
StaticData.ListDoorData = StaticData.ListDoorData.OrderByDescending(x => propInfo.GetValue(x, null)).ToList();
break;
}
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... -datatable
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Jquery»