首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MVCjqGrid。添加日期列

MVCjqGrid。添加日期列
EN

Stack Overflow用户
提问于 2013-05-08 20:15:26
回答 1查看 619关注 0票数 1

我有一个网格:

代码语言:javascript
复制
 @(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")
    )

和此网格的数据:

代码语言:javascript
复制
[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);
}

那么问题是我应该如何处理日期呢?如果我将它们保留为DateTime,它们将显示为无格式,但如果使用Date = DateTime.Now.AddHours(s * 4).ToString(),将不会正确排序?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-08 22:09:22

您可以在排序后格式化数据(我对控制器操作进行了一点重构,使其正常工作):

代码语言:javascript
复制
[HttpPost]
        public JsonResult GetData(GridSettings gridSettings)
        {
            var data = Enumerable.Range(0, 1000).Select(s => DateTime.Now.AddHours(s * 4)).ToList();

            var totalRecords = data.Count();

            if (!string.IsNullOrWhiteSpace(gridSettings.SortColumn))
            {
                data = (gridSettings.SortOrder == "asc" ?
                    data.OrderBy(x=>x) :
                    data.OrderByDescending(x=>x)).ToList();
            }
            data = data.Skip((gridSettings.PageIndex - 1) * gridSettings.PageSize).Take(gridSettings.PageSize).ToList();

            var id = (gridSettings.PageIndex - 1) * gridSettings.PageSize;

            var jsonData = new
            {
                total = totalRecords / gridSettings.PageSize + 1,
                page = gridSettings.PageIndex,
                records = totalRecords,
                rows = data.Select(d=>new
                    {
                        id = ++id,
                        Date = d.ToShortDateString()
                    })
            };
            return Json(jsonData);
        }
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16440436

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档