Gridview date picker javascript

Soyez le premier à donner votre avis sur cette source.

Vue 13 955 fois - Téléchargée 1 692 fois

Description

utilisation d un date picker en javascript dans une gridview en edition

insertion des donnes grace au footer

Source / Exemple :


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.ComponentModel;

namespace DatePiker
{
    [ValidationPropertyAttribute("CalendarDateString")]
    public partial class Calendar_Date : System.Web.UI.UserControl
    {
        // date format used by the calendar control
        private const string DateFormat = "dd/MM/yyyy";

        protected void Page_Load(object sender, EventArgs e)
        {
            string scriptStr = "javascript:return popUpCalendar(this, '" + ResolveUrl("cal") + "/', document.getElementById('" + getClientID() + @"'), '" + DateFormat + "')";
            imgCalendar.Attributes.Add("onclick", scriptStr);
        }

        // Get the id of the control rendered on client side
        // Very essential for Javascript Calendar scripts to locate the textbox
        public string getClientID()
        {
            return txt_Date.ClientID;
        }

        [Category("Appearance")]
        [Description("CSS class name applied to the text box.")]
        [Browsable(true)]
        public string TextCssClass
        {
            get { return txt_Date.CssClass; }
            set { txt_Date.CssClass = value; }
        }

        /// <summary>
        /// Gets or sets the content of the textbox which represents a date.
        /// </summary>
        [Bindable(true, BindingDirection.TwoWay)]
        [Browsable(true)]
        public string CalendarDateString
        {
            get
            {
                return txt_Date.Text;
            }
            set
            {
                txt_Date.Text = value;
                DateTime date;
                if (DateTime.TryParseExact(value, DateFormat, null, System.Globalization.DateTimeStyles.None, out date))
                {
                    if (date.Date == DateTime.MaxValue.Date)
                    {
                        txt_Date.Text = "";
                    }
                }
            }
        }

        /// <summary>
        /// Gets or sets a DateTime representation of the currently selected date.
        /// </summary>
        [Bindable(true, BindingDirection.TwoWay)]
        [Browsable(true)]
        public DateTime CalendarDate
        {
            get
            {
                DateTime date;
                if (DateTime.TryParseExact(txt_Date.Text, DateFormat, null, System.Globalization.DateTimeStyles.None, out date))
                {
                    return date;
                }
                return DateTime.MaxValue;
            }
            set
            {
                txt_Date.Text = value.ToString(DateFormat);
            }
        }
    }

}

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

lakichemole
Messages postés
253
Date d'inscription
vendredi 13 juin 2003
Statut
Membre
Dernière intervention
18 mai 2009
-
Bon code :) ça marche nikel :).
Quelque petits commentaire/amélioration :
- J'ais fait ouvrir site web depuis VS 2005 et quand j'ai lancé il n'a pas trouvé le datas.xml, j'ai fouillé un peux et tu utilise le System.IO.Directory.CUrrentDirectory qui me fait pointer vers le .sln qu'a créé VS pour le site , hors mon site se trouve à un autre endroit, j'ais donc juste modifier l'appel au constructeur de ton provider en lui passant le chemin grâce à la command Page.MapPath("~/datas.xml") qui me récupère le chemin racine de mon site web
- Sinon un petit truc plut^tot que d'utiliser des littérals pour intégré ton css et ton js calendar dans ton ascx pourquoi ne pas intégré directement dans le ascx (pas le cs) ces 2 lignes:
<link href="<%= ResolveUrl("cal/popcalendar.css") %>" type="text/css" rel="stylesheet" />

et

<script language="javascript" src="<%= ResolveUrl("cal/popcalendar.js") %>" type="text/javascript"></script>

C'est plus compréhensible je trouve
- Enfin tu ma fait découvrir la "ValidationPropertyAttribute" que je ne connaissais pas ou que je n'utilisais pas et qui va mêtre très util
cs_fredzool
Messages postés
40
Date d'inscription
lundi 29 septembre 2003
Statut
Membre
Dernière intervention
2 janvier 2009
-
merci pour ces infos

je vais mettre les souorces a jour grace a tes conseil


c est vraiment sympas d avoir pri du temps pour tout cela

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.