Je souhaite afficher une liste sur un site .aspx. Par conséquent, je dois utiliser le modèle d'objet client SP.Sharepoint: liaison GridView avec la liste SharePoint (modèle objet client)
J'ai trouvé le tutoriel suivant, mais cela ne pas utiliser les bibliothèques clientes: http://social.technet.microsoft.com/wiki/contents/articles/30287.binding-gridview-with-sharepoint-list.aspx
Mon code afin ressemble bien les éléments suivants:
ClientContext clientContext = GetContext(accessToken);
Web web = clientContext.Web;
clientContext.Load(web);
clientContext.ExecuteQuery();
// Get the email input list.
List inboxList = web.Lists.GetByTitle("InboxList");
Microsoft.SharePoint.Client.ListItemCollection items = inboxList.GetItems(new CamlQuery());
clientContext.Load(inboxList);
clientContext.Load(items, ic => ic.Include(i => i["DisplayName"], i => i["Client_Title"], i => i["HasUniqueRoleAssignments"]));
clientContext.ExecuteQuery();
foreach (Microsoft.SharePoint.Client.ListItem i in items)
{
clientContext.Load(i);
}
clientContext.ExecuteQuery();
oGrid.DataSource = items;
oGrid.DataBind();
Mais cela montre que certains « méta-données » de la collection d'élément de liste, voir capture d'écran:
Si je oGrid.DataSource = inboxList;
je reçois un InvalidOperationException
parce que la source de données pas le type de IListSource, IEnumerable ni IDataSource.
Si j'utilise oGrid.DataSource = inboxList.DataSource;
je reçois un PropertyOrFieldNotInitializedException
, mais je ne sais pas comment charger cet attribut (via clientContext.Load cela n'a pas fonctionné) ?!