Posteado por: k3n0 | 06/01/2008

Cambiar idioma a calendarExtender ajax control toolkit

Colocar fecha en español CalendarExtender
Ajax control toolkitHola de nuevo:

En mi trabajo me han solicitado crear una aplicación la cual trabaja con fechas, para lo cual me puse a buscar distintos controles para generar calendarios sin ninguna suerte.
Hasta que le pregunté a un amigo (de esos que saben más que uno) como podía colocar un calendario y me explico que el ajax control toolkit venía con una herramienta para desplegar un calendario. Baje el ajax control toolkit y ajax extensión de la siguiente página

http://Ajax.asp.net

Para hacer funcionar el calendario hemos de colocar un TextBox un ScriptManager (base para el manejo del Ajax control toolkit) y un control llamado CalendarExtender .

Para que esto funcione debemos seguir los siguientes pasos

1. Agregar ScriptManager

Agregar script manager

2. Agregar un TextBox (si se desea cambiar el id)
3. Agregar el CalendarExtender

Agregar textbox y calendar extender

4. Asignar como TargetControlID el ID del TextBox que colocamos anteriormente

Hasta ahí todo bien no??

Bueno eso es lo que cualquiera pensaría (incluido yo) pero acá se nos presenta el primer problema.

EL CALENDARIO CON UN FORMATO “RARO”
Esto debido a que la configuración nativa del CalendarExtender es la norteamericana (mes/dia/año) y para colmo de males
EL TEXTO APARECE EN INGLES OMG

calendartextoeningles.jpg

y con el siguiente formato

formatotexto.jpg

Para solucionar este problema debemos seguir los siguientes pasos.

Seleccionamos el ScriptManager y accedemos a la ventana de propiedades

Cambiamos a True los siguientes valores.


EnableScriptGlobalization
EnableScriptLocalization

Por ultimo accedemos a la seccion de código de la página y en la primera linea agregamos los siguientes parámetros

Culture=”Auto”

UICulture=”Auto”

Ejemplo:

<%@ Page Language=”VB” AutoEventWireup=”false” CodeFile=”pruebaCalendario.aspx.vb” Inherits=”pruebaCalendario” Culture=”Auto” UICulture=”Auto”

%>

Despues de esto realizamos las pruebas y vemos que el calendario está en españolAdemás el formato cambió a Dia/Mes/Año

calendarcorregido.jpg

EDICION IMPORTANTE.
No lo he probado aún pero Jorge en uno de los  post de más abajo pone el siguiente enlace para cambiar la palabra “today”

http://www.forosdelweb.com/f78/asp-net-calendar-extender-change-language-globalization-cambiar-idioma-ajax-postback-706809/

Pruebenlo y me comentan.

Pronto vuelvo con más post.

Gracias Jorge


Respuestas

  1. Muchas gracias por el toque yo estoy trabajando tambien con ajax y tenia que hacer ese cambio por suerte encontre este articulo rapidamente, gracias me ahorraste mucho trabajo

  2. Pura Vida!!. Gracias por el Tip. me funcionó muy bien.

  3. Muy buen tip… sin embargo no se si existe alguna forma de cambiar el ODIOSO mensaje “Today”por “hoy”

  4. Buscando información de como cambiarlo,

    Espero atender la solicitud lo antes posible

  5. Eres un crack, gracias a ti aprobe el modulo de integracion.

  6. Gracias, estoy realizando un proyecto, como trabajo final de un curso de la universidad, para el que decidí usar algunos detalles en Ajax.

    entre otros, el CalendarExtender, pero la fecha del calendario me salía en inglés, cuando es una página totalmente en español…

    Hice lo que dijiste y funcionó perfectamente…

    Muchas gracias…

  7. Yo también estoy intentando quitarle el “Today” por “Hoy” pero no lo doy conseguido y de eso que he seguido las instrucciones anteriores. Agradecería mucho que quien lo haya averiguado nos lo explique. Gracias

  8. Gracias por estas soluciones sencillas claras y rápidas. Lo he solucionado en un segundo.

  9. Hola!

    Para cambiar “Today” por “Hoy”, segui estos pasos:

    1 – Abri el proyecto: AjaxControlToolkit.csproj

    2 – En la carpeta ScriptResources abri el archivo ScriptResources.resx

    3 – Busca en el texto la palabra Today y cambiala por Hoy.

    Bueno, espero te sirva!

    Saludos!!

  10. Ya lo apliqué y funciona … pronto se viene la explicación con imágenes.

  11. No se complique mucho usar “AJAX” es muy sencillo y los ejemplos de todos los controles estan aqui:

    http://www.asp.net/AJAX/AjaxControlToolkit/Samples/

  12. Estando todos los controles y su uso, no es malo una ayuda extra no crees ;)

  13. Gracias!!. No encontraba como configurar este detalle

  14. Excelente truco! me ha servido bastante, Gracias!

  15. Hola a todos,
    alguien sabe como puedo localizar mi calendario cuando esta metido dentro de un web usercontrol??????

    Gracias por adelantado

  16. Me ayudo mucho gracias lamentablemente algo raro pasa con mi calendar solo sale lunes martes miercole jueves y viernes y no dos dias restantes como lo areglo ?

  17. Clara:
    intenta con esto

    http://k3n0.wordpress.com/2008/02/02/problema-de-visualizacion-de-dias-calendarextender/

    el problema mío era que no me mostraba los domingos, pero de todas formas te puede servir.

  18. Gracias por el tip, este detalle del Script Manager no lo había notado y me traía de cabeza.

  19. Muchisimas Gracias-!!!

  20. Gracias, me sirvió su ayuda

  21. Muchas gracias!! Muy util!

  22. En la pagina de los demos de ajax, el calendar muestra hoy en vz de today. La solución mas adecuada no es cambiar el valor “today” por “hoy” en el codigo fuente. Debe haber una forma!!!!!

    • Instalé la última versión del ajax Control Toolkit y resuelve el problema por si misma.

  23. EnableScriptGlobalization=true
    EnableScriptLocalization=true

    Culture=”Auto”
    UICulture=”Auto

    Today!!!!! No soluciono el problema. No quiero modificar el codigo porque en la pagina del los ejemplos sale hoy y ellos no han modificado el codigo ya que, estoy seguro, si esa misma pagina se abre en Francia, sladrá “Aujourdui”. Sin cambiar el código. Ayudenme!!!

  24. puedes indicarme q arvhico exacatmente instlaste? yo tengo el vs 2008 tambien instale la q supuestamente es la ultima version del tool kit y tenog los 2 true y los dos auto confirgurados pero nada. me estoy desepserando gracias

  25. muy bueno, me ayudo mucho, pero como puede sobresalir(con un color distinto) el dia actual…

  26. A mi me da mal el formato me aparecen solo tres columnas con los datos ej,
    lu jue sab
    1 4 6
    8 11 13

    et, et, et, se les ocurre a que se pueda deber ???
    gracias

  27. ya lo solucione ,resulta que tenia asignada una Css a la masterpage y usaba el table con formato para varias tablas , esto lo tomo como suyo tambien el caledario (es una tabla) y no me mostraba todos los dias.

    saludos

  28. Compadre me has salvado

    Muchísimas gracias!!!

  29. Para los que tienen el problema de cambiar el “Today” por “Hoy” es muy simple temia ese problema y luego de buscar encontre la solucion:

    Eso pasa por que solo importan el archivo AjaxControlToolkit.dll por lo que en el bin solo tenemos referencia a esa libreria que esta en ingles, por eso encuentran en el codigo “Today” que es lo que algunos cambian por “Hoy”.
    Solamente agreguen a la carpeta Bin el AjaxControlToolkit.resources.dll correspondiente al idioma que quieran(en este caso el que esta en la carpeta “es”) y ya les aparece en español.

    Recuerden que todos los .dll estan en la carpeta AjaxControlToolkit\SampleWebSite\Bin
    una vez que descomprimimos el archivo donde esta el ajaxcontrolkit. Si tienen solo el .dll del ajaxcontrolkit en la pagina oficial se pueden bajar todo completo.

  30. http://www.forosdelweb.com/f78/asp-net-calendar-extender-change-language-globalization-cambiar-idioma-ajax-postback-706809/

  31. Hola

    La soluciòn de Recompilar el proyecto AjaxControlToolkiet.csproj y modificar el archivo ScritpResource.ascx en la seccion “Calendar_Today” funcióno perfecto.

    Muchas Gracias.

    Un Abrazo desde Colombia

  32. Hola

    Felicidades, muy útil el artículo, una consulta, como le puedo dar un formato al textbox para que si el usuario si no desea seleccionar la fecha del calendario entonces pueda digitarla.
    Gracias-

  33. Lenin:
    Te recomiendo usar el PopupButtonID con una imagen de un calendario y a ésta imagen asignarle un ID.
    ejemplo:
    Calendario

    Con ésto te podrás hacer que el usuario al pinchar en el la imagen del calendario aparezca el control calendar. Además si el usuario quiere digitar la fecha puede hacerlo de forma manual.

    No olvides de validarla con un
    ” isDate(cType(valor del textbox,Date))” (en VB)
    o con una expresión regular dependiendo del formato de fecha que necesites.

  34. Excelente articulo de mucha utilidad me ahorre un buen de tiempo muy simple ¡¡¡
    saludos desde Mty


Dejar una respuesta

Su respuesta:

Categorías