1

我是 JQGrid 的新手。让我解释一下我面临的问题......

我正在使用 struts2-jquery 网格,它在内部使用 JQGrid,并在外部控制网格,例如:我正在使用搜索元素来过滤网格中的行。

每当加载网格时,寻呼机工作正常,但在过滤数据时,寻呼机无法正常工作,它会显示一些无限值。那里的任何人都可以告诉我解决方案吗,因为我也无法发布我的代码......如果我有上述问题的任何工作示例真的很明显......

4

1 回答 1

1

看不到任何代码会使事情变得有些困难。但这是我在一个项目中使用的代码,用于在使用 JQgrid 的项目中实现分页(看看它是否对您有所帮助,或者指示从哪里开始调试)

服务器端代码

public ActionResult GridData(int page, int rows, string searchField = "", string searchString = "",
                                     string searchOper = "", string sidx = "ID", string sord = "desc")
        {          
            int pageIndex = Convert.ToInt32(page) - 1;
            int pageSize = rows;

            var items = _repo.GetItemDatacollection(searchField, searchString, searchOper, pageIndex, pageSize, sidx, sord);

            int totalRecords = _repo.GetAll().Count();
            var totalPages = (int)Math.Ceiling(totalRecords / (float)pageSize);

            var jsonData = new
            {
                total = totalPages,
                page,
                records = totalRecords,
                rows = (from item in items.ToList()
                        select new
                        {
                            i = item.ID,
                            cell = new[] { item.ID, item.Name }
                        }).ToArray()
            };
            return Json(jsonData, JsonRequestBehavior.AllowGet);
        }

GetItemDataCollection 基本上是这样做的。(我在其中使用了 Scott Guthrie 的动态 LINQ 库,这对于使用 LINQ 在 JQgrid 中实现搜索来说非常有用,如果不是关键的话)

  return _entities.Set<T>().Where(ConvertOpr(searchOper, searchField), searchString)
                                      .OrderBy(sidx + " " + sord)
                                      .Skip(pageIndex * pageSize)
                                      .Take(pageSize);

JQgrid实现

 jQuery('#theGrid').jqGrid({
            url: '@Url.Action("GridData")',
            datatype: 'json',
            mtype: 'GET',
           //...
 });
于 2012-09-05T14:18:12.007 回答