【发布时间】:2017-03-09 07:31:27
【问题描述】:
我正在使用 jQuery 数据表在我的网络应用程序上显示短信统计信息,该数据表用于简化分页、搜索和排序功能,这些功能运行良好。但是数据表上的列是一个日期,这是我返回 json 对象的操作方法
public ActionResult LoadStatistics(jQueryDataTableParamModel param)
{
//jQueryDataTableParamModel param = new jQueryDataTableParamModel();
var allStats = _dbManager.GetSMSStatitistics();
var filteredStats = allStats;
if (!string.IsNullOrWhiteSpace(param.sSearch))
{
filteredStats = filteredStats.Where(x => x.StaffNameF.Contains(param.sSearch, false)
|| x.StaffNameS.Contains(param.sSearch, false)
|| x.SiteID.Contains(param.sSearch, false)).ToList();
}
return Json(new
{
iTotalRecords = allStats.Count(),
iTotalDisplayRecords = filteredStats.Count(),
aaData = filteredStats
}, JsonRequestBehavior.AllowGet);
}
现在在视图中我有以下代码,用于将数据加载到我的表中,
@section scripts
{
<script type="text/javascript">
$(function () {
$('#statsTable').dataTable({
bProcessing: true,
bServerSide: false,
bPaginate: true,
sAjaxSource: '@Url.Action("LoadStatistics", "Statistics")',
"aoColumnDefs": [
{ "aTargets": [0], "mData": 'StaffNameF' },
{ "aTargets": [1], "mData": 'StaffNameS' },
{ "aTargets": [2], "mData": 'StaffEmail', "sWidth": "300px" },
{ "aTargets": [3], "mData": 'SiteID' },
{ "aTargets": [4], "mData": 'DateTimeIn', "sWidth": "300px", "sFormat": "dd/MM/YYYY" },
{ "aTargets": [5], "mData": 'CellNumber' }]
});
});
</script>
这对所有列都有效,除了显示类似“/Date(1488924000000)/”的日期。我假设这是日期,但它只需要格式化,我怎样才能做到这一点,我已经尝试过 "sFormat": "dd/MM/YYYY" 但没有运气,我不知道如何在表格中执行此操作。
【问题讨论】:
-
看看
Column rendering(datatables.net/examples/advanced_init/column_render.html) 并可能使用 Moment.js (momentjs.com)
标签: datatables date-formatting