Hi,
I'm customize the fields displayed in the Pages document library (the table displayed clicking site actions->all site content->pages).
It was suggested by someone who knows more about sharepoint than me that I should perhaps remove the fields which I didn't want from the default view programmatically on the activation of a feature, so I've written this code which feels like a very unelegant solution, and also does not work.
SPWeb web = properties.Feature.Parent as SPWeb;
if (web != null)
{
SPList list = web.Lists["Pages"] as SPList;
if (list != null)
{
foreach (SPField field in list.Fields)
{
if (field.Title != "Type" &&
field.Title != "Name" &&
field.Title != "Modified" &&
field.Title != "Checked Out To" &&
field.Title != "Page Layout")
{
if (list.DefaultView.ViewFields.Exists(field.InternalName))
{
list.DefaultView.ViewFields.Delete(field);
}
}
}
list.DefaultView.Update();
}
}
}
The code definately executed on activation of the feature so I'm obviously doing something wrong. I've searched for a solution to this so I apologise if I've missed something on google or this site which is blindingly obvious.