【问题标题】:JQuery Datatable Sort Date column in a simple wayJQuery Datatable 以简单的方式对日期列进行排序
【发布时间】:2015-04-27 23:59:12
【问题描述】:

我的日期列排序不正确,它看起来像是对正常数字进行排序,而不是正确的日期列。

我对我的应用程序中的所有数据表都使用下面的 javascript,所以它对所有人都是通用的,这就是我不设置列信息的原因,我让它由数据表自动选择。这样可以使我的日期列正确排序吗?还是我必须设置诸如列格式之类的东西?

 table.dataTable({
                stateSave: true,
                "bLengthChange": false,
                "bFilter": searchable,
                "columnDefs": [{
                    "orderable": false,
                    "targets": [0]
                }],
                "order": [
                    [1, 'asc']
                ],
                "bSort": true,
                "lengthMenu": [
                    [10, 20, 50, 100, 150, -1],
                    [10, 20, 50, 100, 150, "All"]
                ],
                "iDisplayLength": 10,
                "pageLength": 10
            });

以下是我的看法,我用的是MVC

  <table class="table table-bordered" id="datatableList">

        <thead class="heading">
            <tr>
                <th class="table-checkbox"><input type="checkbox" class="group-checkable" /></th>
                <th>ID</th>
                <th>Date</th>
                <th>Account Name</th>
            </tr>
        </thead>

        <tbody>

            @foreach (var item in Model.AllLabourCharges.OrderByDescending(x => x.Date))
            {
                <tr>
                    <td><input type="checkbox" class="checkboxes" value="@item.Id" /></td>
                    <td>@Html.ActionLink(item.Id.ToString(CultureInfo.InvariantCulture).PadLeft(4, '0'), "Form", new { item.Id })</td>
                    <td>@item.Date.Date.ToString(GeneralHelper.DateFormat)</td>
                    <td>@Html.EmptyIfNull(x => item.Account.AccountName)</td>
                </tr>
            }

        </tbody>
    </table>

以下是我的参考资料:

<script src="~/Content/assets/global/plugins/select2/select2.min.js" type="text/javascript"></script>
<script type="text/javascript" src="~/Content/assets/global/plugins/datatables/media/js/jquery.dataTables.min.js"></script>
<script type="text/javascript" src="~/Content/assets/global/plugins/datatables/extensions/ColReorder/js/dataTables.colReorder.min.js"></script>
<script type="text/javascript" src="~/Content/assets/global/plugins/datatables/extensions/Scroller/js/dataTables.scroller.min.js"></script>
<script type="text/javascript" src="~/Content/assets/global/plugins/datatables/plugins/bootstrap/dataTables.bootstrap.js"></script>

【问题讨论】:

    标签: javascript jquery jquery-plugins jquery-datatables


    【解决方案1】:

    您需要先定义所有列。

    【讨论】:

      【解决方案2】:

      你的数据应该是精确的格式,比如日期格式应该和javascript日期一样,所以日期可以多做一件事。

      您可以使用显示日期值添加隐藏的日期值。

      我在日期字段中遇到了同样的问题,并按照上述解决方案解决了。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-12-22
        • 2015-04-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-08-30
        • 1970-01-01
        • 2023-04-06
        相关资源
        最近更新 更多