MVC服务器端JQuery DataTable日期和数字数据排序

  

嗨,我正在使用datatable.net进行数据表服务器端处理。   当我对日期进行排序时,它将以字符串形式进行排序,并从31-10-2019开始,只要我有日期为05-12-2019的记录即可。

同样的问题是数字字段。 最高9999 min-10000

https://datatables.net/manual/server-side

$('#tblworkorderdata')。DataTable({             “ ajax”:{                 “ url”:“ / WorkOrder / GetWorkOrderRecords”,                 “ type”:“ POST”,                 “ datatype”:“ json”,

        },columns: [
            { "data": "IssuBranchName","name": "IssuBranchName" },{ "data": "IssueDate","name": "IssueDate","type": "mydate" },{ "data": "ClientWorkOrderId","name": "ClientWorkOrderId"},{ "data": "WorkOrderType","name": "WorkOrderType" },{ "data": "DistFromStation","name": "DistFromStation" },{ "data": "DistToStationName","name": "DistToStationName" },//{ "data": "CANCELLED","name": "CANCELLED" },{ "data": "ReportURl","name": "ReportURl","visible": false},{
                "data": "Status","name": "Status","render": function (data,type,row) {

                    if (row.CANCELLED == "Y") {
                        data = "Cancelled"
                    }
                    else {

                        if (data == "Y") {
                            data = "Approved"
                        }
                        else {
                            data = "Pending"
                        }
                    }
                    return data
                },},{
                "data": "SUBMIT","name": "SUBMIT","targets": 0,row) {
                    debugger
                    var status = row.Status;

                    if (row.CANCELLED == "Y") {

                        var b = row.ClientWorkOrderId;
                            var myUrl = '@Url.action("ModifyWorkOrder","WorkOrder")/' + b;
                            return '<a href=\"' + myUrl + '\" class=\"btn btn-default btn-sm\">View</a>';

                    }
                    else {

                        if (status == "Y") {
                            var b = row.ClientWorkOrderId;
                            var myUrl = '@Url.action("ModifyWorkOrder","WorkOrder")/' + b;
                            var print = row.ReportURl;
                            return '<a href=\"' + myUrl + '\" class=\"btn btn-default btn-sm\">View</a> &nbsp;&nbsp;<a href=\"' + print + '\" class=\"btn btn-default btn-sm\" target="_blank">Print</a>';
                        }
                        else {
                            var b = row.ClientWorkOrderId;
                            var myUrl = '@Url.action("ModifyWorkOrder","WorkOrder")/' + b;
                            return '<a href=\"' + myUrl + '\" class=\"btn btn-default btn-sm\">Edit</a>';
                        }

                    }
                }

                @*"render": function (data,row)
                {

                    var myUrl = '@Url.action("ModifyWorkOrder","WorkOrder")/' +row[2];
                        return '<a href=\"'+myUrl+'\" class=\"btn btn-default btn-sm\">Edit</a>';
                 }*@



            }
                ],"serverSide": true,"order": [2,"asc"],"processing": true,"language":
        {
            "processing": "Processing...Please Wait"
        },"paging": true

            });

        });



 int start = Convert.ToInt32(Request["start"]);
            int length = Convert.ToInt32(Request["length"]);
            string searchValue = Request["search[value]"];
            string sortColumnName = Request["columns["+ Request["order[0][column]"]+"][name]"];
            string sortDirection = Request["order[0][dir]"];
            var sortColumnIndex = Convert.ToInt32(Request["columns["+ Request["order[0][column]"]+"][orderable]"]);

            string SeclEVEL = (UserSession.UserSeclevel).ToString();
            List<WODetails> objDetailsList = new List<WODetails>();
            objDetails = new WorkOrders();
            objDetailsList = objDetails.ClientWODetails(UserSession.Year,UserSession.BranchCode,SeclEVEL,UserSession.UserId,UserSession.CompanyCode);
            var z = objDetails.YearList();
            int totalrows = objDetailsList.Count;
            // filter
            if (!string.IsnullOrEmpty(searchValue))
            {
                objDetailsList = objDetailsList.Where(x => x.IssuBranchName.ToLower().Contains(searchValue.ToLower())
                || x.IssueDate.ToLower().Contains(searchValue.ToLower())
                || x.ClientWorkOrderId.ToLower().Contains(searchValue.ToLower())
                || x.WorkOrderType.ToLower().Contains(searchValue.ToLower())
                || x.DistFromStation.ToLower().Contains(searchValue.ToLower())
                || x.DistToStationName.ToLower().Contains(searchValue.ToLower())
                || x.Status.ToLower().Contains(searchValue.ToLower())
                ).ToList<WODetails>();
            }
            int totalrowsafterfiltering = objDetailsList.Count;

            // sorting
            objDetailsList = objDetailsList.OrderBy(sortColumnName+" "+sortDirection).ToList<WODetails>();

            // paging

            objDetailsList = objDetailsList.Skip(start).Take(length).ToList<WODetails>();


            return Json(new
            {
                data = objDetailsList,draw = Request["draw"],recordsTotal = totalrows,recordsFiltered = totalrowsafterfiltering
                ////aadata = objDetailsList,//secho = param.sEcho,//itotaldisplayrecords = objDetailsList.Count(),//itotalrecords = objDetailsList.Count()

            },JsonRequestBehavior.AllowGet);


            //JavaScriptSerializer js = new JavaScriptSerializer();
            //js.MaxJsonLength = Int32.MaxValue;
            //var c = js.Serialize(objDetailsList);
            //return new JsonResult()
            //{
            //    Data = "c",//};
            //return View(objDetailsList);
            // return Json(new { data = objDetailsList },JsonRequestBehavior.AllowGet);


        }
        catch (Exception ex)
        {
            return Json("ex");
        }


    }

请咨询

xiaonv5835335 回答:MVC服务器端JQuery DataTable日期和数字数据排序

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2970185.html

大家都在问