我是JQGrid的新手。让我解释一下我面临的问题......
我正在使用struts2-jquery网格,它在内部使用JQGrid,并在外面控制网格,例如:我使用搜索元素来过滤网格中的行。
当网格加载时,寻呼机工作正常,但是当过滤数据时,寻呼机不工作并且它显示一些无限值。任何人都可以告诉我解决方案,因为我也不能发布我的代码......如果我得到任何有关上述问题的工作实例真的很明显......
答案 0 :(得分: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',
//...
});