This project is read-only.

What is vpGrid?

vpGrid is basically a wrapper around jqGrid.

At the beginning, vpGrid was just a few lines of code to handle some jqGrid callbacks.

But it appears that it was more and more difficult to build grids with jqGrid under heavy constraints like embedding a jqGrid grid within a SharePoint page while keeping up with more and more mission-critical business requirements.

The solution was then to build not a new Grid library but a generic framework that integrates jqGrid to handle the UI and only the UI.

vpGrid has been designed to be able to fullfill any kind of business requirements including user rights management, documents management,custom business validation of input data.

jqGrid can be configured in many different ways but vpGrid handles jqGrid in the following way:

  • jqGrid is used to load data locally only;
  • All data is loaded in the grid (no pagination);
  • Data sent by the server to the grid must be in JSON format;
  • Data is modified in the grid using jqGrid inline Cell Editing mode;
  • vpGrid uses its own Form Editing through jQuery UI Dialog plugin. jqGrid on-the-fly Form Editing is not used. vpGrid Form Editing enables to have any kind of UI Dialog to show/edit/add an item in the grid.   
  • Inline Cell Editing is an extended version of the native jqGrid inline Cell Editing. vpGrid inline editing provides a smooth UI experience with automatic binding of autocomplete/datepicker widget, dynamic build of select input options on a per cell basis (Each cell configured to be edited with a select input can be edited through a different select content each time the cell is editing);
  • Data access (create/read/update/delete) is done outside of jqGrid enabling full control of the communication with the server;
  • vpGrid injects many extension points within jqGrid to enable full control of cell display, cell editing, cell searching, cell validation, row edition, row deletion, user rights management, mulitple summary rows, multiple in-grid summary rows;
  • The grid is described and configured declarativally with HTML statements and data tags attributes on these HTML elements; this is a major difference with jqGrid: no need to produce javascript code to make the grid alive. If you embed the grid in an ASP.NET MVC page : no need for specific jqGrid helpers. If you embedd the grid in an ASP.NET Webform : no need to produce code in the code-behind of the ASPX page. The idea is that the UI and basic behavior of the grid is done declaratively by using data tags and all the specific business requirements are implemented client-side as JavaScript event handlers.

In a nutshell vpGrid provides a complete separation between the UI, the business requirements and the data layer.


Last edited Sep 12, 2014 at 12:37 AM by HenridOrgeval, version 20