I have a grid:
@(Html.Grid("grid")
.SetJsonReader(new MvcJqGrid.DataReaders.JsonReader { Id = "Id", RepeatItems = false })
.SetRequestType(RequestType.Post)
.AddColumn(new Column("Date").SetWidth(300).SetLabel("Date").)
.SetUrl(Url.Action("Action", "Controller"))
.SetRowNum(10)
.SetHeight(500)
.SetRowList(new[] { 10, 15, 20, 50 })
.SetViewRecords(true)
.SetGridView(true)
.SetPager("pager")
)
and data for this grid:
[HttpPost]
public JsonResult Action(GridSettings gridSettings)
{
var data = new List<DateTime>();
data.AddRange(Enumerable.Range(0, 1000).Select(s => new
{
Date = DateTime.Now.AddHours(s * 4),
}));
int totalRecords = data.Count;
if (!string.IsNullOrWhiteSpace(gridSettings.SortColumn))
{
data = (gridSettings.SortOrder == "asc" ?
data.AsQueryable().OrderByPropertyName(gridSettings.SortColumn) :
data.AsQueryable().OrderByPropertyNameDescending(gridSettings.SortColumn)).ToArray();
}
data = data.Skip((gridSettings.PageIndex - 1) * gridSettings.PageSize).Take(gridSettings.PageSize).ToArray();
var jsonData = new
{
total = totalRecords / gridSettings.PageSize + 1,
page = gridSettings.PageIndex,
records = totalRecords,
rows = data
};
return Json(jsonData);
}
So the question how should i work with Dates? if i leave them as DateTime they will display with no format, but with Date = DateTime.Now.AddHours(s * 4).ToString()
, will NOT sort correct?