1

在 mvc razor 中使用 jqGrid

我想要一个可以使用 jqGrid json 格式并绑定网格的类。

4

2 回答 2

1

我认为您不需要定义任何类来生成jqGrid 所需的JSON 数据。您可以返回匿名对象:

public JsonResult DynamicGridData (string sidx, string sord, int page, int rows)
{
    var query = ...;
    var totalRecords = query.Count();

    return Json(new {
        total = (totalRecords + rows - 1) / rows,
        page,
        records = totalRecords,
        rows = (from item in query
                select new {
                    id = item.Id.ToString(),
                    cell = new[] {
                        item.FirstName,
                        item.LastName,
                        item.Votes.ToString(),
                        item.Title
                    }
                }).ToList()
    },
    JsonRequestBehavior.AllowGet);
}
于 2012-10-26T14:00:26.383 回答
1

首先,这是在 Stackoverflow.com 上提问的错误方式,请阅读常见问题解答whathaveyoutried.com

但是由于您是 Stackoverflow 的新手,我将为您回答这个问题,

public class JqGridModel<T>
{
    public int page { get; set; }
    public Int32? total { get; set; }
    public Double? records { get; set; }
    public IEnumerable<T> GridData { get; set; }

    public JqGridModel<T> Bind(IEnumerable<T> data)
    {
        records = data.Count();
        GridData = data;
        page = 1;

        return this;
    }
}

也从你所说的评论中,

实际上我正在尝试将 jqgrid 与 mvc razor 和实体框架一起使用。

我建议您阅读这篇文章一次,它可能会有所帮助。这里也定义了一个 jqGrid 类...虽然上面的类更通用,但这完全取决于您的用例。

public class JqGridObject
{
    public string Page { get; set; }
    public int PageSize { get; set; }
    public string SortColumn { get; set; }
    public string SortOrder { get; set; }
    public List<Fruit> Data { get; set; }
}

public class Fruit
{
    public int Id { get; set; }
    public string Name { get; set; }
}
于 2012-10-26T13:16:25.880 回答