嗨,我正在使用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> <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");
}
}
请咨询