Em umas das tarefas solicitadas pelo cliente, tinha a de
re-organizar os item no formulario de uma lista, aonde já estava em
produção.
Se poderia fazer uso do arquivo
schema.xml do projeto para alterar a ordem dos campos, mas como foi
falado, a lista já estava em produção, consequentemente não teria efeito
alterar dito arquivo.
Então como solução se
fez um método que sera chamado no momento de ativar a feature. Este
método utiliza o metodo "Reorder" do content type, ele ordea as colunas
baseado no seu parâmentro:
public void Reorder( string[] internalNames )
Para obter os internal names, umas das formas e utilizar SharePoint Manager, observe imagem abaixo:

O método utilizado num projeto ficou assim: (se ordenou as colunas do content type 'Evento'*)
public static void ReorderContentTypeListNotificacao(SPSite site)
{
var web = site.RootWeb;
bool estadoAtual = web.AllowUnsafeUpdates;
web.AllowUnsafeUpdates = true;
SPContentType ct = web.ContentTypes["Evento"];
ct.FieldLinks.Reorder(new string[] { "Title", "Location",
"EventDate", "EndDate", "fAllDayEvent", "Description", "EventType",
"Category", "PGCSCPessoaGrupo" });
ct.Update(true);
web.AllowUnsafeUpdates = estadoAtual;
}
*Content type possui as seguintes colunas: title, Location, EventDate, EndDate, fAllDayEvent, Description, EventType,, Category, etc.
Bibliografia
https://msdn.microsoft.com/EN-US/library/office/microsoft.sharepoint.spfieldlinkcollection.reorder.aspx
Atte.
No hay comentarios:
Publicar un comentario