On features that create lists, on feature activation I tend to check of list 
already exists and create it if it doesn't, and on deactivation delete the list 
if it's empty. That way leaving user data available until the user takes the 
decision to remove it

Sent from my iPhone

On Mar 1, 2012, at 8:37 AM, "Paul Noone" <paul.no...@ceosyd.catholic.edu.au> 
wrote:

> Yes, I was aware of that method and had used it. But then I realised the IDs 
> increment regardless of whether items have been deleted. So I’ve opted to 
> just send all the lists to the Recycle Bin on FeatureDeactivated. Much 
> cleaner. J
>  
> Thanks for the help. I appreciate this list more than you know. J
>  
> From: ozmoss-boun...@ozmoss.com [mailto:ozmoss-boun...@ozmoss.com] On Behalf 
> Of Ishai Sagi
> Sent: Thursday, 1 March 2012 6:02 AM
> To: ozMOSS
> Subject: RE: The CORRECT way to delete specific list items by field ID
>  
> Also - list.Items.DeleteItemById might be a better way?
>  
>  
>  
> <image002.jpg>Ishai Sagi | Solutions Architect 
> 0488 789 786 | is...@exd.com.au | www.sharepoint-tips.com | @ishaisagi  
>  
> From: ozmoss-boun...@ozmoss.com [mailto:ozmoss-boun...@ozmoss.com] On Behalf 
> Of Paul Noone
> Sent: Tuesday, 28 February 2012 18:36
> To: 'ozMOSS'
> Subject: RE: The CORRECT way to delete specific list items by field ID
>  
> Thanks Sez. I had learnt that lesson with a previous custom action to bulk 
> delete items. J
>  
> In this case I do want them gone for good when the feature is deactivated. 
> They are just dummy items.
>  
> From: ozmoss-boun...@ozmoss.com [mailto:ozmoss-boun...@ozmoss.com] On Behalf 
> Of Sezai Komur
> Sent: Wednesday, 29 February 2012 12:41 PM
> To: ozMOSS
> Subject: Re: The CORRECT way to delete specific list items by field ID
>  
> Another consideration when using SPListItem.Delete() in a custom solution 
> is... do you want the deleted item completely or do you want it to go to the 
> recycle bin?
>  
> .Delete() bypasses the recycle bin completely and permanently deletes the 
> item, if you want users to be able to recycle the deleted items instead use 
> the .Recycle() method.
>  
> http://blog.mastykarz.nl/programmatically-deleting-list-items-documents-recycle-bin/
>  
> http://msdn.microsoft.com/en-us/microsoft.sharepoint.splistitem.recycle 
> 
> Sezai.
> 
> On Wed, Feb 29, 2012 at 8:41 AM, Paul Noone 
> <paul.no...@ceosyd.catholic.edu.au> wrote:
> Ah…FFS. Thanks Mark.
>  
> I had that initially but the IDs were in quotes and I was getting “Operator 
> == cannot be applied to operands of type int and string.” Which threw me 
> completely!
>  
> The following simplified method allso seems to work.
>  
> // Delete sample items
> SPListItem item1 = bugsList.GetItemById(1);
> item1.Delete();
> SPListItem item2 = bugsList.GetItemById(2);
> item2.Delete();
>  
> It’s the indexder and the SPItemCollection that seem to cause the issues. My 
> first attempt was to remove the first two items by index which fails because 
> index(0) changes with each deletion. J
>  
> From: ozmoss-boun...@ozmoss.com [mailto:ozmoss-boun...@ozmoss.com] On Behalf 
> Of Mark Daunt
> Sent: Wednesday, 29 February 2012 11:21 AM
> To: ozMOSS
> Subject: Re: The CORRECT way to delete specific list items by field ID
>  
> Hi Paul, 
> 
> It’s the bastard == that you’re missing in your if statement :-)
> 
> Mark
> 
> 
> On 29/02/12 10:18 AM, "Paul Noone" <paul.no...@ceosyd.catholic.edu.au> wrote:
> 
> Hi all,
> This should be easy, right? I’ve followed several methods as defined in MSDN 
> documentation but nothing worked as expected. A froeach loop was giving me 
> “Collection was modified; enumeration operation may not execute.”. So I’m now 
> using a decrementing for loop and getting the items by title. While this 
> works, it is not ideal.
> I want to get the items by their field ID value but can’t get the syntax 
> right. I keep hitting “Operator '||' cannot be applied to operands of type 
> int and int”. 
> try{
>  
>     SPList bugsList = oWeb.Lists["Project Issues Register"];
>  
>     for (int i = bugsList.Items.Count - 1; i >= 0; i--)
>     {
>         if (bugsList.Items[i].ID = 1 || bugsList.Items[i].ID = 2)
>  
>         {
>             bugsList.Items.Delete(i);
>         }
>     }
> }
> 
> Figure 1 - Sample list
> 
> <image004.png>
> Help?
> 
> 
> _______________________________________________
> ozmoss mailing list
> ozmoss@ozmoss.com
> http://prdlxvm0001.codify.net/mailman/listinfo/ozmoss
> 
>  
> _______________________________________________
> ozmoss mailing list
> ozmoss@ozmoss.com
> http://prdlxvm0001.codify.net/mailman/listinfo/ozmoss
_______________________________________________
ozmoss mailing list
ozmoss@ozmoss.com
http://prdlxvm0001.codify.net/mailman/listinfo/ozmoss

Reply via email to