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