Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

217
Vistas
Sharepoint: busque en una lista grande con CAML Query

Tengo una lista de SharePoint (list_dls) que tiene todas las direcciones de correo electrónico. La lista tiene una sola columna con el nombre de campo "Título". Necesito validar que el elemento en "LookupField" esté contenido en 'list_dls'. La lista tiene más de 5000 correos electrónicos, por lo que tendré que hacer una consulta CAML. El script no parece encontrar el elemento. Cualquier idea para hacerlo funcionar sería muy apreciada.

Aquí está el código.

 <input type='button' value='get Lists' onclick="PopulateLookupField();"/> <p id="demo"></p> <script language="javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script> <script language="javascript" type="text/javascript"> var LookupField = 'lnam@xyz.com'; function PopulateLookupField() { var clientContext = new SP.ClientContext.get_current(); var LookupList = clientContext.get_web().get_lists().getByTitle('list_dls'); var camlQuery_list = new SP.CamlQuery(); camlQuery_list.ViewXml = @"<View Scope='RecursiveAll'><ViewFields><FieldRef Name='ID'/><FieldRef Name='Title'/></ViewFields><RowLimit Paged='TRUE'>5000</RowLimit></View>"; LookupList<ListItem> allListItems = new LookupList<ListItem>(); do { var listItemCollection = LookupList.GetItems(camlQuery_list); clientContext.Load(listItemCollection); clientContext.ExecuteQuery(); allListItems.AddRange(listItemCollection); var ItemFound = listItemCollection.Where(item => item.FieldValues["Title"].ToString().Contains(LookupField); if(ItemFound !== null){break;} camlQuery_list.ListItemCollectionPosition = listItemCollection.ListItemCollectionPosition; } while (camlQuery_list.ListItemCollectionPosition != null); clientContext.load(ItemFound); alert("ItemFound = " + ItemFound); } </script>

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

Primero, vaya a la lista de SharePoint "list_dls" y cree un nuevo índice para la columna Título (tal vez ya esté hecho)

https://support.microsoft.com/en-us/office/add-an-index-to-a-list-or-library-column-f3f00554-b7dc-44d1-a2ed-d477eac463b0

Además, puede buscar inmediatamente con caml query en una lista

 camlQuery_list.ViewXml = $"<View><Query><Where><Eq><FieldRef Name='Title' /><Value Type='Text'>{LookupField}</Value></Eq></Where></Query></View>"; ListItemCollection collection = LookupList.GetItems(camlQuery_list); context.Load(collection); context.ExecuteQuery(); if (collection.Count > 0) { var yourItem = collection[0]; }
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda