This is related how instance of SPListItem is being created. Actually in both cases new item is added to the collection of items in list, in first case new item is added explicitly, in the second one implicitly.
The point is, that for initializing collection of items in list is used the same method GetItems but with different queries.
The ItemCount function could be applied to List resource, for example:
but not to ListItemCollection resource
You could consider the following options of getting items count for list items:
How to return items count from json result:
var endpointUrl = _spPageContextInfo....
AS PER MSDN
The value of the ItemCount property includes folders within a document library, as well as files within subfolders. The value of the Count property of the SPListCollection class does not include folders.
Gets the number of list items in the collection, excluding folders.
Although it's ...
If fetching of item["ID"] instead of 'Title' works AND If you are using the SPQuery object. Then, include the columns that you want to fetch in the ViewFields property of SPQuery. This will resolve your issue.
We might have to manipulate/update the data without changing the Modified or Modified By fields to meet the business needs and also retaining the document/Item status without incrementing the version is also important aspect to be considered. In such cases SystemUpdate() method of SPListItem can be leveraged.
This basically updates the content database with ...
Use below code to get User name:
new SPFieldLookupValue(properties.ListItem["Staff Member"].ToString()).LookupValue;
For User ID:
new SPFieldLookupValue(properties.ListItem["Staff Member"].ToString()).LookupId;
SharePoint does not provide a method of restarting a workflow. You can however cancel a running workflow and start it again. A good example of canceling a running workflow can be found here: http://blog.brianfarnhill.com/2008/10/how-to-cancel-a-workflow-programmatically
The snippit of code below will start your workflow.
private static void StartWorkflow(...
The objects you get from $list.Folders are SPListItems not SPFolders so the ListItems property gives the Lists ListItemCollection not something for the folder.
To get the SPFolder you have to access $folder.Folder.
If what you're working with is a document library, then it's easy just access $folder.Folder.Files and you'll get the files in the SPFolder, ...
Make sure that the column you include in the where clause is defined as an indexed column in SharePoint. You can check by going to the list you're querying and into List -> Settings -> Indexed Columns. It's not applicable in your CAML query, but if you have more than one 'where', ensuring the first where hits an indexed column can increase efficiency.
In SharePoint ID is a counter and always incremental. Even though you delete item, it is never going to occupy the blank ID. It always keeps on incrementing.
Also list.Items always return SPListItemCollection. But when you delete the item from List, the index of Item keeps on changing. For example, you had 10 items in list list.Items will give you the ...
You need to use the $expand option in your query string.
siteUrl + "/_api/lists/getbytitle('" + listName + "')/items?$select=NameOfLookup/FieldYouWant&$expand=NameOfLookup/NameOfFieldYouWant"
So yours would be:
"/_api/lists/getbytitle('" + listName + "')/items?$select=$expand=status_x0028_test_x0029/Title&$expand=status_x0028_test_x0029/Title
You can use SharePoint web services.
Below is the snippet I copied from https://stackoverflow.com/questions/22450717/add-and-update-single-item-in-sharepoint-list-via-vba
Sub Add_Item(ListName As String, SharepointUrl As String, ValueVar As String, FieldNameVar As String)
Dim objXMLHTTP As MSXML2.XMLHTTP
Dim strListNameOrGuid As String
Dim strBatchXml As ...
When you query /_api/web/Lists/getbytitle(\'Items\') basically it returns SPList object. That object as ItemCount property.
The value of the ItemCount property includes folders within a list/document library, as well as items/files within subfolders.
For filtering we need to apply filter on Items so query /_api/web/Lists/getbytitle(\'Items\')/items?$filter=...
Using SPList.Items property is bad practice. Each time the property is accessed, it requests all items with all fields from database. Instead you should always use SPList.GetItems().
SPList.GetItems(params string) - you can use it to load only the fields that you need. As far as I remember it'll only return items in the root folder of the list.
I never use the SPListItem.Url property, as list items don't really have a user browsable URL. They only have an ID, and the list that contains them has a display form (list forms may also change over time).
The URL of an item is used internally by SharePoint but is never shown/used by the users.
So, I always use code such as:
Uri webUri = new Uri(web.Url)...
Yes, this is possible in SharePoint 2013.
You can follow the below steps:
Go to the list where you want to assign item level permissions.
Select the Item in which you have to provide the permissions.
Then click on the ellipses -> Advanced -> Shared With and a new pop up will appear.
In the pop up, click on the Advanced button.
The permission groups for ...
You need to return the field value in HTML/Plain text format and update it. Here you go:
SPSite site = new SPSite("http://site"))
using (SPWeb web = site.OpenWeb())
SPList list = web.Lists["YourList"];
SPListItem item= list.GetItemById(1);
SPFieldMultiLineText multilineField = item.Fields.GetField(...
No, you will need a custom solution for this! For example an asynchronous list item event handler. But be careful with item level permissions - you should not exceed 1000 unqiue security boundaries in a single list. See Software boundaries and limits for SharePoint 2010.
2;#post1 is a SPFieldLookupValue where the LookupValue is "post 4" and the LookupId is 2.
The LookupId of the item being looked up is the list item ID in the list it's being stored in.
To set the value of a lookup field you have a few options:
newItem["PostTitle"] = 2; // Just pass the lookup ID
newItem["PostTitle"] = new SPFieldLookupValue("2;#post1"); /...
So you have UniqueId of the item and the Url of the library, right?
You can get the item in one of the following ways:
Get the list from the Url
SPList list = web.GetList("http://mysharepoint.be/MYDOCUMENTSLIBRARY");
SPListItem item = list.GetItemByUniqueId(yourGuid);
Get the list form the Url of a webpart page that has a web part for your list as first ...
If you want to get the collection of "field_name + field_value", you can try:
var fieldValues = currentItem.get_fieldValues();
It returns an object, the object key is field name and the object value is field value.
Based on your affirmative response to my comment, I've gone ahead and wrote this using the JSOM API. The script works by disabling the ReadOnly property on the RichMessage field, updating the values on your target item, and re-enabling the ReadOnly field. Up until now, this is the only working strategy I've found to change read-only fields from ...