Muchas veces necesitamos consultar una lista cualquiera en Sharepoint, retornando solo los últimos items actualizados, por ejemplo, el famoso carrusel de imágenes con las últmas 5 fotos cargadas, pues bien, si tuvieramos una lista de imágenes y quisieramos desarrollar un webpart con un look and feel ya establecido, la recomendación seria usar el objeto SPQuery para implementar una consulta CAML, con las siguientes características:
Clausula OrderBy:
<OrderBy><FieldRef Name='Modified' Ascending='FALSE'/></OrderBy>
Propiedad RowLimit:
miConsulta.RowLimit = 10;
Adicional a esto, si quisiera solo retornar las columnas o campos específicos, debo indicarlo asi:
Propiedad ViewFields:
miConsulta.ViewFields = "<FieldRef Name=\"Title\"/>" + "<FieldRef Name=\"Description\"/>" + "<FieldRef Name=\"Link\"/>";
El código completo sería asi, suponiendo que se tiene un objeto SPList lista:
SPQuery miConsulta = new SPQuery();
miConsulta.Query = "<OrderBy><FieldRef Name='Modified' Ascending='FALSE'/></OrderBy>";
miConsulta.RowLimit = 5;
miConsulta.ViewFields = "<FieldRef Name=\"Title\"/>" + "<FieldRef Name=\"Description\"/>" + "<FieldRef Name=\"Link\"/>";
SPListItemCollection myColl = lista.GetItems(miConsulta);
De aqui, ya sería recorrer los items de la lista, o llenar un DataTable para continuar con la lógica de nuestro webpart.
Saludos,