Just thought I would share a tip that I found on the usenet group: microsoft.public.sharepoint.windowsservices.development
and in particular a post made by Colin Byrne colinb@>flexnetconsult.co.uk
1. Add the field as XML
list.Fields.AddFieldAsXml("<Field DisplayName="NewField5"
Type="Boolean" Required="FALSE" Name="NewField5"
CanToggleHidden="TRUE" Hidden="TRUE"/>");
2. Set the internal CanToggleHidden property via reflection
string id=list.Fields.Add("NewField5",SPFieldType.Boolean,false);
SPField spfield=(SPField)list.Fields.GetField(id);
Type type = spfield.GetType();
MethodInfo mi= type.GetMethod("SetFieldBoolValue",
BindingFlags.NonPublic | BindingFlags.Instance);
mi.Invoke(spfield,new object[]{"CanToggleHidden", true});spfield.Hidden=true;
spfield.Update();
A way to set CanToggleHidden attribute to false was exactly what I was looking for. Thanks!
You’re welcome, glad to help…