1

mvcrazorで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;
    }
}

あなたが言ったあなたのコメントからも、

実際、私はmvcrazorとentityframeworkでjqgridを使用しようとしています。

この記事を一度読んでおくことをお勧めします。役立つかもしれません。ここでも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 に答える