Quantcast
Channel: Developing Apps for SharePoint 2013 forum
Viewing all articles
Browse latest Browse all 8089

"Value does not fall within the expected range" in Joins

$
0
0

Hello,

I'm trying to create query with JOIN between a custom list and a picture library, however I am getting the following message: "Value does not fall Within the expected range". Either list has more than 10 items. Below is the code used:

var viewModel;

$(document).ready(function () {

    viewModel = new DefaultViewModel()
    ko.applyBindings(viewModel);
    
});

function DefaultViewModel() {

    var self = this;
    self.Repository = new PropertyRepository();
    self.Message = ko.observable();
    self.Properties = ko.observableArray();

    self.loadProperties = function () {

        self.Repository.ListAll();
        self.Repository.Context.executeQueryAsync(
            Function.createDelegate(self, self.onListAllSuccess),
            Function.createDelegate(self, self.onListAllFail)
        );
    }

    self.onListAllSuccess = function (event, args) {
        self.Properties.removeAll();
        var items = self.Repository.Items.getEnumerator();
        
        while (items.moveNext()) {

            var item = items.get_current().get_fieldValues();
            self.Properties.push(new Property(item));

        }
    }

    self.onListAllFail = function (sender, args) {
        self.message('Failed to get user name. Error:' + args.get_message());
    }

    self.loadProperties();
}

function PropertyRepository() {

    var self = this;
    self.Repository = new Repository();
    self.Context = self.Repository.Context;
    self.ListName = "Imóvel";
    self.Items = null;
    self.ListAll = function () {

        self.Repository.LoadList(self.ListName);
        var camlQuery = new SP.CamlQuery();

        var query =
            '<View>' +
                '<Joins>' +
                    '<Join Type="Left" ListAlias="ImagemImovel">' +
                        '<Eq><FieldRef Name="Images" RefType="ID" /><FieldRef List="ImagemImovel" Name="ID"/></Eq>' +
                    '</Join>' +
                '</Joins>' +
                '<ProjectedFields>' +
                    '<Field Name="ImagemImovelID" Type="Lookup" List="ImagemImovel" ShowField="Title" />' +
                '</ProjectedFields>' +
                '<FieldRef Name="ImagemImovelID"/>' +
                '<RowLimit>10</RowLimit>' +
            '</View>';
        camlQuery.set_viewXml(query);
        //camlQuery.set_viewXml('<View><RowLimit>10</RowLimit></View>');
        //self.Items = self.Repository.List.getItems(new SP.CamlQuery.createAllItemsQuery());
        self.Items = self.Repository.List.getItems(camlQuery);
        self.Repository.Context.load(self.Repository.List);
        self.Repository.Context.load(self.Items);

    }
}

var hostUrl = decodeURIComponent(getQueryStringParameter("SPHostUrl"));
var appweburl = decodeURIComponent(getQueryStringParameter("SPAppWebUrl"));

function Repository() {

    var self = this;
    self.Context = SP.ClientContext.get_current();
    self.Web = self.Context.get_web();

    self.LoadList = function (name) {
        self.List = self.Web.get_lists().getByTitle(name);
    }       
}

function getQueryStringParameter(paramToRetrieve) {
    var params =
    document.URL.split("?")[1].split("&");
    var strParams = "";
    for (var i = 0; i < params.length; i = i + 1) {
        var singleParam = params[i].split("=");
        if (singleParam[0] == paramToRetrieve)
            return singleParam[1];
    }
}


Stephany Henrique de Almeida Batista - MCTS


Viewing all articles
Browse latest Browse all 8089

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>