#c# #jquery #asp.net #asp.net-mvc
#c# #jquery #asp.net #asp.net-mvc
Вопрос:
Я пытаюсь реализовать функциональность сортировки таблиц данных, нажав на заголовки для сортировки. В настоящее время я загружаю свои данные, используя ForEach вот так. Есть ли простой способ реализовать функциональность сортировки в моих сценариях? Спасибо
<tbody>
@foreach (var fieldValidator in field.FieldValidators)
{
<tr>
<td>
@fieldValidator.Id
</td>
<td>
@fieldValidator.ValidatorType
</td>
<td>
@fieldValidator.ErrorMessage
</td>
<td>
@fieldValidator.Param1
</td>
<td>
@fieldValidator.Param2
</td>
<td>
@fieldValidator.Param3
</td>
<td>
@Html.ActionLink("Edit", "EditFieldValidator", new { fieldValidatorId = fieldValidator.Id, dynamicFieldId = field.Id, dynamicFormId = Model.DynamicForm.Id, vaccineTypeStatusId = Model.Id }, new { @class = "btn btn-primary mb-h" })
<a href="#" class="btn btn-danger mb-h" data-toggle="modal" data-target="#confirm-delete-field-validator-@fieldValidator.Id">Delete</a>
<div class="modal fade" id="confirm-delete-field-validator-@fieldValidator.Id" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">amp;times;</button>
<h4 class="modal-title" id="myModalLabel">Confirm Delete</h4>
</div>
<div class="modal-body">
<p>You are about to permanently delete this field validator.</p>
<p><b>This action can NOT be undone.</b></p>
<p>Do you want to proceed?</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button>
@Html.ActionLink("Delete", "DeleteFieldValidator", new { fieldValidatorId = fieldValidator.Id, vaccineTypeStatusId = Model.Id }, new { @class = "btn btn-danger" })
</div>
</div>
</div>
</div>
</td>
</tr>
}
</tbody>
Комментарии:
1. Почему бы не использовать datatables.net ? Если вы хотите выполнить сортировку в серверной части, сделайте это вызовом ajax для контроллера со строкой запроса для столбца sort, который возвращает отсортированную таблицу в виде html.
2. Я использую Datatables.net . Это именно то, что я пытаюсь сделать.
Ответ №1:
Вам просто нужно следовать руководству в https://datatables.net /.
Это не проблема, если вы использовали forEach. Вот пример. Надеюсь на помощь, мой друг :))
<link rel="stylesheet" href="https://cdn.datatables.net/1.10.22/css/jquery.dataTables.min.css" />
<div class="container">
<div class=" row">
<table id="myTable">
<thead>
<tr>
<th>Id</th>
<th>Name</th>
<th>Serial Number</th>
<th>Age</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Employees)
{
<tr>
<td>
@item.Id
</td>
<td>
@item.Name
</td>
<td>
@item.SerialNumber
</td>
<td>
@item.Age
</td>
</tr>
}
</tbody>
</table>
</div>
</div>
@section Scripts
{
<script type="text/javascript" src="https://cdn.datatables.net/1.10.22/js/jquery.dataTables.min.js"></script>
<script>
$(document).ready(function () {
$('#myTable').DataTable();
});
</script>
}
Комментарии:
1. Большое вам спасибо!
2. @Ender91: Хорошо сыграно, мой друг :))