Crear definiciones de lista personalizadas en SharePoint 2010
Introducción al desarrollo de Web en SharePoint 2010: Aprenda a crear una definición de lista personalizada en SharePoint 2010 y a anexarle un receptor de eventos.
Última modificación: miércoles, 12 de enero de 2011
Hace referencia a: SharePoint Foundation 2010 | SharePoint Server 2010 | Visual Studio | Visual Studio 2010
Se aplica a: Microsoft SharePoint Foundation 2010 | Microsoft SharePoint Server 2010 | Microsoft Visual Studio 2010
Publicado: junio de 2010
Proporcionado por: Frank Rice, Microsoft Corporation
En este ejercicio, se crea una definición de lista personalizada en Microsoft SharePoint 2010 y, a continuación, se crea un receptor de eventos que se desencadena cuando se usa la lista. Para completar esta tarea, debe hacer lo siguiente:
Crear un proyecto de definición de lista de SharePoint
Personalizar la definición de lista de SharePoint
Probar la solución
Crear un proyecto de definición de lista de SharePoint
En esta tarea, se crea un proyecto de definición de lista de SharePoint 2010 en Microsoft Visual Studio 2010.
Para crear el proyecto de SharePoint
Para iniciar Visual Studio 2010, haga clic en el menú Inicio, en Todos los programas, en Microsoft Visual Studio 2010 y, a continuación, haga clic en Microsoft Visual Studio 2010.
En el menú Archivo, elija Nuevo y, a continuación, haga clic en Proyecto.
En la sección Plantillas instaladas de la ventana de diálogo Nuevo proyecto, haga clic en Visual C#, haga clic en SharePoint y, a continuación, haga clic en 2010.
Haga clic en Definición de lista de los elementos de proyecto.
En el cuadro Nombre, escriba Bugs y, a continuación, haga clic en Aceptar.
En el Asistente para la personalización de SharePoint, escriba el sitio web local que desea usar para este ejercicio (como https://localhost/SampleWebSite).
En el nivel de confianza, seleccione Implementar como solución de granja de servidores y, a continuación, haga clic en Siguiente.
En el cuadro ¿Cuál es el nombre para mostrar de la definición de lista?, escriba Bugs.
En la lista desplegable ¿De qué tipo es la definición de lista?, seleccione Lista personalizada.
Seleccione la casilla Agregar una instancia de lista para esta definición de lista y, a continuación, haga clic en Finalizar.
Personalizar la definición de lista de SharePoint
En esta tarea se describe la personalización de la plantilla de proyecto de definición de lista al cambiar el nombre de lista, el tipo de contenido que almacena y los campos que se muestran en nuevo formulario, editar formulario y mostrar formulario.
Para personalizar la definición de lista
En el Explorador de soluciones, expanda ListInstance1 y abra el archivo Elements.xml.
Dentro del elemento ListInstance, cambie el atributo Title a Bugs y el atributo TemplateType a 10001.
En el Explorador de soluciones, antes de Schema.xml, abraElements.xml.
Dentro del elemento ListTemplate, cambie el atributo Type a 10001 y agregue el atributo DisallowContentTypes=”FALSE”.
Inserte el siguiente código XML en la parte superior del elemento Elements en el archivo Elements.xml como se muestra en la figura 1. Este código XML describe el tipo de contenido Bug Item que almacena la lista.
<!-- Describes content types. --> <ContentType ID="0x010089E3E6DB8C9B4B3FBB980447E313CE94" Name="Bug Item" Group="Custom Content Types" Description="Bug item content type." Version="0"> <FieldRefs> <FieldRef ID="{fa564e0f-0c70-4ab9-b863-0177e6ddd247}" /> <FieldRef ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" /> <FieldRef ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" /> <FieldRef ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" /> </FieldRefs> </ContentType> <!-- End describes content types. -->
Inserte el siguiente código XML en la parte superior del elemento Elements en el archivo Elements.xml como se muestra en la figura 1. Este código XML describe los campos que usa el tipo de contenido Bug Item.
<!-- Describes fields in bug list. --> <Field Type="Note" DisplayName="Description" Required="FALSE" NumLines="6" RichText="FALSE" Sortable="FALSE" ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" StaticName="BugDescription" Name="BugDescription" Group="Custom Columns" /> <Field Type="Text" DisplayName="Project" Required="FALSE" MaxLength="255" ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" StaticName="BugProject" Name="BugProject" Group="Custom Columns" /> <Field Type="Text" DisplayName="Assigned To" Required="FALSE" MaxLength="255" ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" StaticName="BugAssignedTo" Name="BugAssignedTo" Group="Custom Columns" /> <!-- End describes fields in bug list. -->
Figura 1. Archivo Elements.xml después de insertar dos secciones de código
En el Explorador de soluciones, abra Schema.xml.
Agregue el atributo EnableContentTypes=”TRUE” al elemento List dentro del archivo Schema.xml.
Inserte el siguiente código XML en el elemento ContentTypes en el archivo schema.xml como se muestra en la figura 2. Este código XML describe el tipo de contenido Bug Item que almacena esta lista.
<!-- Start Add. --> <ContentTypeRef ID="0x010089E3E6DB8C9B4B3FBB980447E313CE94" /> <!-- End Add. -->
Inserte el siguiente código XML en el elemento Fields tal como se muestra en la figura 2. Este código XML describe los campos que almacena la lista. Se relacionan de manera directa con los campos en el tipo de contenido que agregó en el paso anterior.
<!-- Start Add. --> <Field Type="Note" DisplayName="Description" Required="FALSE" NumLines="6" RichText="FALSE" Sortable="FALSE" ID="{cb55bba1-81a9-47b6-8e6c-6a7da1d25602}" StaticName="BugDescription" Name="BugDescription" Group="Custom Columns" /> <Field Type="Text" DisplayName="Project" Required="FALSE" MaxLength="255" ID="{0248c82f-9136-4b3a-b802-d0b77280b3bc}" StaticName="BugProject" Name="BugProject" Group="Custom Columns" /> <Field Type="Text" DisplayName="Assigned To" Required="FALSE" MaxLength="255" ID="{aa4a82dd-5b32-4507-9874-4e1c7bca3279}" StaticName="BugAssignedTo" Name="BugAssignedTo" -Group="Custom Columns" /> <!-- End Add. -->
Figura 2. Schema.xml después de insertar el código de ContentTypeRefs y el código de campos
Inserte el siguiente código XML en el elemento ViewFields en la segunda vista, donde BaseViewID="1" aparece como se muestra en la figura 3. Este código XML describe los campos que deben visualizarse en esta vista en particular. BaseView 1 se establece como vista predeterminada. Es la vista en la cual deben mostrarse los campos creados recientemente.
<!-- Start Add. --> <FieldRef Name="BugDescription"></FieldRef> <FieldRef Name="BugProject"></FieldRef> <FieldRef Name="BugAssignedTo"></FieldRef> <!-- End Add. -->
Figura 3. Schema.xml después de insertar el código XML Fields
En el Explorador de soluciones, haga clic con el botón secundario en el nodo Bugs y, a continuación, haga clic en Implementar.
Probar la solución
En esta tarea, se prueba la solución al agregar un error en la lista Bugs.
Para agregar un elemento a la lista Bugs
Abra el sitio web que especificó anteriormente.
En la página principal, haga clic en la lista Bugs en el panel de navegación izquierdo.
En la ficha Herramientas de listas, haga clic en Elementos y, a continuación, haga clic en Elemento de error en la lista desplegable Nuevo elemento, como se muestra en la figura 4.
Figura 4. Elemento de error de la lista desplegable de Nuevo elemento
Se muestra la pantalla Errores: nuevo elemento tal como se muestra en la figura 5.
Figura 5. Cuadro de diálogo de nuevo elemento de error
En la pantalla Errores: nuevo elemento, escriba Bug01 en el cuadro Título.
Escriba ¿Quién rastreará este error? en el cuadro Descripción, escriba Escribir artículos para programadores en el cuadro Proyecto y, a continuación, haga clic en Guardar.