Я использую 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 пользовательского интерфейса. В этом проблема. Как это сделать?
public IActionResult LoadDoors(string FilterByColumn = "",
string ASC_DSEC = "")
{
int 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;
}
}
}
var jsonData = new
{
draw = 1,
recordsFiltered = recordsTotal,
recordsTotal = recordsTotal,
data = StaticData.ListDoorData
};
return Ok(jsonData);
}
Подробнее здесь: https://stackoverflow.com/questions/790 ... -datatable
Сортированный статический список не отображается в таблице данных jQuery ⇐ Jquery
Программирование на jquery
1728229166
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 пользовательского интерфейса. В этом проблема. Как это сделать?
public IActionResult LoadDoors(string FilterByColumn = "",
string ASC_DSEC = "")
{
int 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;
}
}
}
var jsonData = new
{
draw = 1,
recordsFiltered = recordsTotal,
recordsTotal = recordsTotal,
data = StaticData.ListDoorData
};
return Ok(jsonData);
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79054107/sorted-static-list-is-not-displaying-in-the-jquery-datatable[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия