SharePoint 2010: Como crear formularios personalizados de lista (III)!

Siguiendo con la serie de artículos sobre como crear formularios personalizados de lista, en esta ocasión vamos a ver la aproximación programática. Pero antes, os recuerdo los dos artículos previos de la serie:

Para crear formularios personalizados de lista mediante el modelo de objetos, basta con crear un método con la siguiente lógica

   1: static void UpdateListForms()

   2: {

   3:     using (SPSite spsSitio = new SPSite("http://demo2010a:100"))

   4:     {

   5:         using (SPWeb spwWeb = spsSitio.OpenWeb())

   6:         {

   7:             SPList splLista = spwWeb.Lists["Products 2"];

   8:             SPFolder spListRootFolder =

   9:                 splLista.RootFolder;

  10:             Uri uWebUrl = new Uri(spwWeb.Url);

  11:             string sCustomFormUrl =

  12:                 uWebUrl.LocalPath +

  13:                 spListRootFolder.Url + "/" +

  14:                 "Producto.aspx";

  15:             splLista.RootFolder.Files.Add(sCustomFormUrl,

  16:                 SPTemplateFileType.FormPage); 

  17:             SPContentType spctListContentType = 

  18:                 splLista.ContentTypes["Item"];

  19:             spctListContentType.NewFormUrl =

  20:                 sCustomFormUrl + "?mode=new";

  21:             spctListContentType.EditFormUrl =

  22:                 sCustomFormUrl + "?mode=edit";

  23:             spctListContentType.DisplayFormUrl =

  24:                 sCustomFormUrl + "?mode=display";

  25:             spctListContentType.Update();

  26:             splLista.Update();

  27:         }

  28:     }

  29: }

  • Como vemos, tras acceder a la lista en cuestión provisionamos un formulario a través de añadir un archivo de tipo FormPage a la lista. A continuación, creamos una instancia de tipo de contenido a partir de acceder al tipo de contenido “Item” de la lista. Configuramos las propiedades NewFormUrl, EditFormUrl y DisplayFormUrl con el formulado provisionado y listo.
  • Probamos en la lista que el formulario está operativo:

image

Referencias: