Tuesday, May 5, 2015

System.ArgumentException: Value does not fall within the expected range

This error was faced in one of the SharePoint Calendar list view web part. Normally, single day event is display properly but recurring event is not getting display in Disp.aspx page. It gives an error like 'Value does not fall within the expected range' in web part maintenance page.

After looking into SharePoint log file, I found below error details...

"System.ArgumentException: Value does not fall within the expected range. at Microsoft.SharePoint.SPFieldMap.GetColumnNumber(String strFieldName, Boolean bThrow) at Microsoft.SharePoint.SPListItemCollection.GetRawValue(String fieldname, Int32 iIndex, Boolean bThrow) at Microsoft.SharePoint.SPListItem.GetValue(SPField fld, Int32 columnNumber, Boolean bRaw, Boolean bThrowException) at Microsoft.SharePoint.SPListItem.GetValue(String strName, Boolean bThrowIfValueMissing, Boolean bThrowIfFieldMissing) at Microsoft.SharePoint.SPListItem.get_Item(String fieldName) at Microsoft.SharePoint.SPListItem.GetFieldValue(String fieldName) at Microsoft.SharePoint.WebControls.FormAuthorEditorFormattedString.Render(HtmlTextWriter output) at System.Web.UI.Control.RenderControlIn... f79f039d-c61f-309c-09b3-d284a913f679"

System.ArgumentException: Value does not fall within the expected range error is occurred due to throttling limit set at List view lookup in web application general settings.

To overcome this issue,

  1. Navigate to SharePoint 2013 Central Administration
  2. In Application Management section, click on Web Applications >> Manage Web Applications
  3. Select the SharePoint site in which you face the issue
  4. Click on General Settings >> Resource Throttling
  5. Navigate to List View Threshold section, specify the maximum value like 15 or 20 based on lookup, person/group or workflow status field used in the list. Default value for List View Threshold is 8. 



Enjoy SharePoint!!!

Friday, May 1, 2015

Cloud Business App: Save Operation Failed. The etag value in the request header does not match with the current etag value of the object

In Cloud Business App, this issue occurred when trying to update the record using SharePoint 2013 custom list data source from View Announcement HTML client screen. When I click on Save button in Edit form. The cloud business app is developed using Visual Studio 2013.

To overcome this issue add following java script in HTML Client Project >> Default.htm page inside the <Body> tag.

<script type="text/javascript">
var origMetadataReadFunc = OData.metadataHandler.read;
OData.metadataHandler.read = function (response, context) {
origMetadataReadFunc.call(OData.metadataHandler, response, context);
var data = response.data,
schema = data && data.dataServices && data.dataServices.schema && data.dataServices.schema[0],
entities = schema && schema.entityType || [];
entities.forEach(function (entity) {
var i,
property,
properties = entity.property || [];
for (i = properties.length - 1; i >= 0; i--) {
property = properties[i];
if (property.name === "Microsoft_LightSwitch_ETag") {
property.type = "Edm.String";
break;
}
}
});
};
var origJsonReadFunc = OData.jsonHandler.read;
OData.jsonHandler.read = function (response, context) {
var result = origJsonReadFunc.call(OData.jsonHandler, response, context);
var data = response.data, results = data.results;
if (results) {
results.forEach(function (entity) {
if (entity.__metadata.etag) {
var etag = entity.__metadata.etag,
firstIndex = etag.indexOf("'"),
lastIndex = etag.lastIndexOf("'"),
coreEtag = "";
for (var i = firstIndex + 1; i < lastIndex; i++) {
var char = etag[i];
coreEtag += char;
if (char == "'") {
coreEtag += "'";
if (etag[i + 1] == "'") {
i++;
}
}
}
entity.__metadata.etag = etag.substr(0, firstIndex + 1) + coreEtag + etag.substr(lastIndex);
}
});
}
return result;
};
</script>
Enjoy SharePoint!!!