2012-07-05 12 views
1

Я новичок в JQGrid. Позвольте мне объяснить проблему, с которой я сталкиваюсь ...JQGrid стороне страницы страницы не работает?

Я использую сетку struts2-jquery, которая внутренне использует JQGrid, и я управляю сетью снаружи, например: Я использую элементы поиска для фильтрации строк в сетке.

Когда сетка загружается, пейджер работает нормально, но когда я фильтрую данные, пейджер не работает и отображает некоторые бесконечные значения. Может ли кто-нибудь там сказать мне решение для этого, так как я тоже не могу опубликовать свой код ... Если у меня есть какой-либо рабочий пример для вышеупомянутой проблемы, это действительно заметно ...

+0

См Olegs anwser здесь: http://stackoverflow.com/questions/8479777/add-paging-for-jqgrid –

ответ

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 в основном делает что-то подобное. (Я использовал динамическую библиотеку LINQ Скотта Гатри внутри него, что было очень полезно, если не решающее значение для осуществления поиска в JQgrid с использованием LINQ)

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', 
      //... 
}); 
+0

спасибо большое .... я получил ответ несколько дней назад ... я также использовал тот же подход ... .. – Esh

Смежные вопросы