una saber net mostrar lista leer existe elemento datos como asp c# sharepoint sharepoint-2010

c# - saber - Obtener el primer y último ListItem en la lista Sharepoint



lista en asp net (2)

En un evento pageLoad , quiero ir a dos listas de SharePoint diferentes y obtener el primer ListItem de una lista y el último ListItem en otra. No conozco ninguno de los ID de ListItem, así que supongo que esto debe hacerse a través del índice de la lista, pero no estoy seguro de cómo implementarlo. Después de haber manejado la Lista, ¿alguien puede aconsejar (usando c #) la mejor manera de obtener los primeros y últimos ítems para el escenario descrito anteriormente?


La condición "primer elemento" y "último elemento" no es muy clara. Suponiendo que desea recuperar el primer y el último elemento creado . Es importante tener en cuenta que recuperar elementos a través del índice de SPListItemCollection puede ser lento para listas grandes, ya que al acceder a SPList.Items devuelven todos los elementos de la lista. Es por eso que sugiero usar una consulta CAML:

SPList list = // some list; SPQuery query = new SPQuery(); query.RowLimit = 1; query.Query = "<OrderBy><FieldRef Name=''ID'' /></OrderBy>"; return list.GetItems(query).Cast<SPListItem>().FirstOrDefault();

Para el "último artículo", debe invertir el orden:

<OrderBy><FieldRef Name=''ID'' Ascending=''FALSE'' /></OrderBy>

Si desea obtener el último y el primer artículo basándose en otra condición, solo tiene que cambiar el orden por campo.

Actualizar:
Aún mejor sería ordenar por el campo ID . Con eso podrías lograr el mismo resultado. No solo mejor, el campo creado podría haber sido cambiado a través del código como lo señala @Kobi.


Puede intentar esto para obtener el último ID de elemento

SPWeb web = SPContext.Current.Web; SPList List = web.Lists[ListName]; int itemId = List.Items[List.ItemCount - 1].ID;

¡Saludos!