Question

I have a Visual Studio 2013 solution and I have been successfully able to get list items from the host web using the following JavaScript code:

    var context = SP.ClientContext.get_current();
    var factory;
    var appContextSite;
    var mylist;
    context = new SP.ClientContext(appweburl);
    factory = new SP.ProxyWebRequestExecutorFactory(appweburl);
    context.set_webRequestExecutorFactory(factory);
    appContextSite = new SP.AppContextSite(context, hostweburl);
    this.web = appContextSite.get_web();
    mylist = this.web.get_lists().getByTitle('My List');
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml('<Query><OrderBy><FieldRef Name=\'ID\'/></OrderBy></Query>');
    var collListItem = mylist.getItems(camlQuery);
    context.load(mylist);
    context.load(collListItem);
    context.executeQueryAsync(
     Function.createDelegate(this, success),
     Function.createDelegate(this, error)
    );

However I have now created an External Content Type inside of the app and need to get information from the list that has been created:

External Content Types

I have tried modifying my code and having a look through MSDN but so far there appears to be very limited information on this.

I would appreciated any help and guidance that can be provided for this.

Était-ce utile?

La solution

You can use below code to start with:

   var context = SP.ClientContext.get_current();//Get current app web context
    var mylist;
    this.web = context.get_web();
    mylist = this.web.get_lists().getByTitle('My List');
    var camlQuery = new SP.CamlQuery();
    camlQuery.set_viewXml('<Query><OrderBy><FieldRef Name=\'ID\'/></OrderBy></Query>');
    var collListItem = mylist.getItems(camlQuery);
    context.load(mylist);
    context.load(collListItem);
    context.executeQueryAsync(
     Function.createDelegate(this, success),
     Function.createDelegate(this, error)
    );

Autres conseils

function queryListItems() {  
         var clientContext = new SP.ClientContext.get_current();
         var oList = clientContext.get_web().get_lists().getByTitle('My List');
         var camlQuery = new SP.CamlQuery();
         camlQuery.set_viewXml('<View><Query><Where><Leq><FieldRef Name=\'ID\'/><Value Type=\'Number\'>100</Value></Leq></Where></Query></View>');
         this.collListItem = oList.getItems(camlQuery);
         clientContext.load(collListItem);         

         clientContext.executeQueryAsync(Function.createDelegate(this, this.onQuerySucceeded), Function.createDelegate(this, this.onQueryFailed));        

}

function onQuerySucceeded(sender, args) {

    var listItemInfo = '';
    var x=document.getElementById("country");
    var listItemEnumerator = collListItem.getEnumerator();
    while (listItemEnumerator.moveNext()) {
        var oListItem = listItemEnumerator.get_current();
        //listItemInfo += '\nID: ' + oListItem.get_id() + '\nTitle: ' + oListItem.get_item('Title');

            var row=x.insertRow(1);
            var cell1=row.insertCell(0);
            var cell2=row.insertCell(1);
            var cell3=row.insertCell(2); 
            cell1.innerHTML=oListItem.get_id();
            cell2.innerHTML=oListItem.get_item('listvalue1');
            cell3.innerHTML=oListItem.get_item('listvalue2');
    }
    alert(cell2.value);
    alert(x.rows.length); 
    //alert(listItemInfo.toString());

}

function onQueryFailed(sender, args) {

    alert('Request failed. ' + args.get_message() + '\n' + args.get_stackTrace());
}
Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top