Showing posts with label paging. Show all posts
Showing posts with label paging. Show all posts

Thursday, October 09, 2008

Linq support server-side data paging

Cuando estas desarrolando software con Visual Studio 2008 para utilizar todos los beneficios de usar Linq, te encontraras con este mensaje de error, al intentar enlazar un origen de datos Enumerable.SelectIterator sobre un GridView:

The data source does not support server-side data paging.

Apesar de haber configurado las propiedades AllowPaging="true" del GridView, este mensaje te saca de las casillas y puedes equivocadamente sospechar que las expresiones Linq NO pueden enlazarse a un simple GridView.

var q = from item in Clients select item;
this._grid.DataSource = q;

Donde la variable Clients es una coleccion de datos, cualesquiera.

Sin embargo, al enlazar el objeto de estructura de datos inferida, es decir: q, sobre el DataSource del GridView, debe utlizar el metodo ToList()

this._grid.DataSource = q.ToList();

De esta manera superaras un inconveniente tecnico, que antes NO se habia experimentado, es decir en las versiones anteriores.

Linq brinda una serie de beneficios para poder trabajar con colecciones de objetos en el mundo .NET de una manera similar a SQL, sin que esto implique necesariamente una operacion hacia la Base de Datos.

Naturalmente, entre los pro y contra encontra algunas dificultades tecnicas que se deben superar.