【发布时间】:2018-02-21 06:44:14
【问题描述】:
我需要将我的日期列格式化为某种格式,但也需要排序为日期。由于.ToString,它像文本一样排序。任何建议如何将其排序为日期但仍保持格式?
查看:
<script>
$(function () {
$('#dataTableHistory').DataTable({
"iDisplayLength": 50,
"order": [[0, "desc"]]
});
});
</script>
<table id="dataTableHistory" class="display">
<thead>
<tr>
<th>Date</th>
<th>User</th>
<th>Action</th>
</tr>
</thead>
<tbody>
@foreach (var o in (List<CompoundSheetHistory>)ViewData["CompoundSheetHistories"])
{
<tr>
<td>@o.DateCreated.ToString("dd MMM yyyy HH:mm:ss")</td>
<td>@o.User.FirstName</td>
<td>@o.ActionDescription</td>
</tr>
}
</tbody>
</table>
在第一次加载时,当我单击排序按钮时,它会对列进行排序,看起来像文本。
【问题讨论】:
-
它正在尝试对文本进行排序,也许您可以尝试添加另一个可排序日期格式为 yyyyMMddHHmmss 的隐藏列?
-
是的,由于 .ToString,它将其排序为文本。隐藏列的问题是,用户将无法对其进行排序 Asc 或 Desc
-
将文本转换为 Date 对象并将其放入表格中不是您的选择吗?
-
不,这会使系统变慢
标签: javascript jquery asp.net-mvc razor datatables