in

Comunidad de Blogs de SharePoint

Este espacio es para poder colaborar, compartiendo y publicando contenido de valor sobre la herramienta de colaboración Microsoft Office SharePoint

Julio Casal

Desarrollo de Soluciones con SharePoint

Usando el DateTimeControl de SharePoint en tus páginas y controles ASP.NET

Hace unos días estaba trabajando en un control de usuario de ASP.NET que debía incluir como parte de una solución SharePoint para un cliente. En este control debía incluir el clásico mecanismo de selección de rango de fechas que determinarían los registros a mostrar como resultado de una consulta. Esto pues implica colocar algún control para la selección de fecha de inicio y fecha de finalización.

ASP.NET no incluye un control para selección de fechas del tipo DateTimePicker que sí incluye Windows Forms (aunque sí hay un control Calendar) y por ello me lanzé a la búsqueda de un control sencillo (y si es posible gratutito) que pudiera incorporar en mi solución y, aunque encontré varios, cada uno implicaba una o más configuraciones para que pudiera funcionar apropiadamente en el ambiente de SharePoint, sin hablar de que luego hay que hacer el correspondiente deployment del mismo.

Luego se me ocurrió que tal vez SharePoint incluyera ya un control de este tipo, pues después de todo está basado en ASP.NET y en más de una página de SharePoint aparece un control para selección de fechas como el que quería usar. Sin mucho buscar encontré este post de Ishai Sagi (SharePoint MVP), donde hace exactamente lo que yo quería, que es usar un control llamado DateTimeControl que ya viene incluido en uno de los assemblies de SharePoint.

Entonces, para agregar el DateTimeControl a tu página o control ASP.NET (estoy asumiendo que estás haciendo esto en un proyecto de tipo SharePoint que creas con las Extensiones de Visual Studio para SharePoint):

1. En tu proyecto, agrega una referencia al assembly Microsoft.SharePoint.dll (aunque la referencia viene de manera predeterminada en este tipo de proyectos)

2. En la parte superior de tu página o control ASP.NET, declara la siguiente directiva:

<%@ Register TagPrefix="SharePoint" Namespace="Microsoft.SharePoint.WebControls"
    Assembly="Microsoft.SharePoint, Version=12.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c" %>

3. En el lugar donde necesites el control decláralo como lo harías con cualquier control ASP.NET, pero con el prefijo SharePoint. Por ejemplo:

<SharePoint:DateTimeControl ID="dateTimeFechaInicio" runat="server" DateOnly="true"
                            AutoPostBack="true"   LocaleId="3082" />

En este ejemplo en particular, estoy declarando el control y especificando que solo muestre fechas (DateOnly=”true”) y que use la configuración regional de Español (LocaleId=”3082”) en lugar de la predeterminada en Inglés.

El resultado, en mi ejemplo, es algo como esto:

…donde he colocado dos instancias del control para la selección del rango. Y, al dar click en el selector de fecha aparece así:

Realmente me agrada mucho este “poder” adicional que me brinda SharePoint como desarrollador, puesto que al reutilizar sus controles me evito cualquier trabajo de configuración y deployment adicionales que hubiera tenido que realizar si los controles no estuvieran disponibles. Allí es cuando realmente se aplica aquello de que SharePoint es una verdadera plataforma de desarrollo.

Espero sea de utilidad,

Julio

Cross-posting desde juliocasal.com

Comments

 

Blog del CIIN said:

Pues nada, dicen que las tradiciones están para mantenerlas en el tiempo y eso es lo que espero hacer

August 19, 2008 9:30 PM
 

WSS 3.0 & MOSS: Recopilatorio de enlaces interesantes (XX)! « Pasi??n por la tecnolog??a… said:

Pingback from  WSS 3.0 &amp; MOSS: Recopilatorio de enlaces interesantes (XX)! &laquo; Pasi??n por la tecnolog??a&#8230;

August 19, 2008 9:38 PM

Leave a Comment

(required)  
(optional)
(required)  
Add
Comunidad Microsoft TechNet SharePoint
Powered by Community Server (Commercial Edition), by Telligent Systems