Tag Info

Hot answers tagged

18

Fastest way to delete all items is to batch together all delete commands... public static void DeleteAllItems(string site, string list) { using (SPSite spSite = new SPSite(site)) { using (SPWeb spWeb = spSite.OpenWeb()) { StringBuilder deletebuilder = BatchCommand(spWeb.Lists[list]); ...


12

No, you can not change internal name of column. You have to delete old column and create new column if you want to change column name


10

If you use linq to object, you always retrieve ALL records from DB. It is not good if you have got a lot of data. To reduce records you can use CAML query: SPQuery query = new SPQuery(); query.Query = "<Where>" + "<Eq>" + "<FieldRef Name=\"FileLeafRef\"/>" + ...


9

Nothing in SharePoint is simple and this question proves it. I spend last hour or so on this hoping to find some remotely simple solution. (See update for SharePoint 2013 below) ImageUrl is not a 'native' SPList property. I did some decompiling and refactoring only to find out that ImageUrl is one of the many list properties retrieved by SPListCollection ...


7

check this out: 1. Go to the list that is lacking the link 2. Select the view that doesn’t have the link appearing 3. Select Edit Page from the Site Action menu 4. Edit the list web part properties 5. Note the current Toolbar setting 6. Change the Toolbar setting and click Apply. Any selection other than No Toolbar should cause ...


6

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. ...


5

I ran into the same requirement in a recent project, basically preventing access to any list view or form of a particular (hidden) list via the Web browser. SharePoint designer isn't allowed on Web Application level and Web services (including client object model) is blocked by a custom HTTP handler, so the concerns mentioned in other answers didn't apply ...


5

When you call SPList.Items.Add() it will fetch all list items through an SPQuery. This can be very costly when you have a considerable amount of items. // Microsoft.SharePoint.SPList public SPListItemCollection Items { [ClientCallableExceptionConstraint(FixedId = "c", ErrorType = typeof(SPQueryThrottledException), Condition = "There is a throttle ...


4

1)Select Edit Page from the Site Action menu 2) Edit the list web part properties 3)settings window opens and change the Toolbar type to "Full Toolbar" which can be seen in the dropdown. click ok and click stop editing on the top of the page . you can see "add new item" link button.


4

I found answer for my question. private string GetAttachmentUrls(SPListItem oItem) { string path = string.Empty; try { path = (from string file in oItem.Attachments orderby file select SPUrlUtility.CombineUrl(oItem.Attachments.UrlPrefix, ...


4

After some effort I converted it into PowerShell YAY! [Microsoft.SharePoint.SPList] $list = $web.Lists["Stakeholders Register"]; if(($list.Fields["Job Number"] -ne $null) -and ($list.Fields["Role within project"] -ne $null)) { $fieldReorderable = [string]::Empty; $fieldNonReorderable = [string]::Empty; $firstField = ...


4

No, as you can see from the msdn documentation, the SPList object does not have a "Property Bag" property. That said, if you need to, a common workaround is using the property bag of the root folder of the list as a surrogate. You see... SPFolder does define a property bag. Also you can take for granted that a (normal) list or document library should have a ...


4

I did something like this for a client. My solution was made a web service. By this web service I was able to make an AJAX call and create an Alert code behind.


3

ok, it seems that the solution is to return number as string and replace comma with dot - apparently with ProcessBatchData regional settings of the site are not used, so I had to provide the number with standard english-version format


3

A SharePoint list lives in one site and one site only. But depending on your needs the content of the list can be displayed in other sites invarious ways. Content Query Web part Share a List View Between Sites in SharePoint 2010 implementing a simple Cross SIte collection list view webpart Page view web part showing view page (add ?IsDlg=1 to url to get ...


3

There is no memory leak in your code for SPWeb. The SPWeb object you get from SPContext.Current.Site.OpenWeb(webUrl) should be disposed (like you already did). There is are other performance improvements I can suggest in your code: 1) Use list = web.GetList(lstUrl) instead of list = web.Lists[listName] ; 2) Use list.GetItems([SPQuery]) instead of ...


3

You're disposing an instance of SPWeb got through using SPContext. This probably will result in unpredictable behaviour as something else is expecting to dispose of the Site object you've got it from. Rather, use new SPSite(SPContext.Current.Site.Url) and wrap that in a using tag like you've done there. EDIT: Yeah, you're using OpenWeb() which does indeed ...


3

This answer has two parts: First, for maximum performance and scalability, to retrieve the lists you should be using web.Lists[Guid]. Iterating through web.Lists and picking your selected lists, or using web.Lists[Name] (which also iterates through the set internally) will causes the API to retrieve metadata for all SPList objects under that SPWeb, which ...


3

myQuery.RowLimit = 0 I think if I'm correct: 0 = unlimited Hope this helps. :)


3

You can try following: foreach (SPListItem item in query) { SPListItem newItem = list.Items.Add(); foreach (SPField field in list.Fields) { if (!field.ReadOnlyField) newItem[field.Id] = item[field.Id]; } newItem.Update(); }


3

There is no built in way via the SharePoint JavaScript Object Model according to my research. Likely you will have to build your JavaScript to work with the SharePoint 2010 Alerts Web Service: http://msdn.microsoft.com/en-us/library/websvcalerts(v=office.14).aspx using JQuery or whatever framework calls from JavaScript on your page.


3

If the javascript file is located directly in the layouts folder you don't have to specify relative/full path as SharePoint will figure it out itself. If you however have it located in a specific folder in either a document library or a in layouts, only then are you required to add a relative/full path to the javascript file. Example:  (Located in ...


3

Your code is fine. Url is property of the item and its not affected by your parameter in GetItems. Test with a field (not property) that is not included in the parameter you pass in GetItems. item["OtherField"] Normally it should throw an exception (ArgumentException).


3

When you request list items via client object model, the object will return a number of parameters even if you specify none at all. Some of these include title, url, modified date, created date, check out user, etc. You can see these by storing the object as a variable and then using Dev tools to debug the page. You will see there are actually about a dozen ...


3

If you don't want to use the GUID, you'll have to make an extra call and get the vti_listname property from the list folder. The folder you can get by url using the getFolderByServerRelativeUrl on the SP.Web object. Example: var clientContext = SP.ClientContext.get_current(); var web = clientContext.get_web(); var folder = ...


2

You can access all sorts of things in SharePoint by typing in a url or by merely changing the querystring. If the list must be hidden always, then change security on the list so that only those with proper permissions can see it. If you really are set on this, you can also implement some form of URL Rewriter on the IIS server hosting SharePoint and block ...


2

Items + Folder count Can you check out whether SPFolder.Itemcount could help to get the number of items in a list including the subfolders? - http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spfolder_members.aspx Only Item Count Then checking the SPListItemCollection.Count will give you the list items excluding the folders. - ...


2

If you have a language pack applied and your site is not in english, try updating the SPList.TitleResource property, using SPUserResource.SetValueForUICulture. Also, if you are looking at the quick launch or top navigation links, those get a copy of the value once set and might retain the old value even if you change the list's name.


2

This means $web.Lists[$ListName] returns null. The reason is that you should pass title, not list root folder name or list url, to the SPWeb.Lists[string] indexer. For example: $list = $web.Lists["My precious list"] I assume 2012SalesReport1Q in your code refers to the list root folder name, i.e. it has address http://portal/Lists/2012SalesReport1Q. In ...


2

Depends on whether you mean fastest to execute or fastest to code and get working :) As mentioned the batch method will execute fastest, otherwise to do it the way you were doing then this would be quicker:- while(list.Items.Count > 0) { list.Items[0].Delete(); }



Only top voted, non community-wiki answers of a minimum length are eligible