65.9K
CodeProject is changing. Read more.
Home

Date picker in ASP.net gridview

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.66/5 (13 votes)

Apr 30, 2008

CPOL
viewsIcon

67273

downloadIcon

1967

Datet picker in ASP.net gridview

introduction

this code eases the implementation of adding datetime picker in gridview ,this uses built in controls of asp.net without any 3rd party tools,the solves problems like editing date values inside the gridview.


using the code

before getting into working nature of code let me explain u about the trick i used in this , getting clientid of particular cells textbox in rowediting event and registrering along with javascript gives exact needs to set datetime picker in gridview

            protected void gridview1_rowediting(object sender, gridviewediteventargs e)
    {
        int f;
        f = e.neweditindex; 
        f += 2;
       
        string clientid = "ctl00_contentplaceholder1_gridview1_ctl";

        string startdate;
        if (f <= 9)
        {
            startdate = clientid + "0" + f.tostring() + "_txt_when";
        }
        else
        {
            startdate = clientid +  f.tostring() + "_txt_when";
        }
        

        string targetdate;
        if (f <= 9)
        {
            targetdate = clientid + "0" + f.tostring() + "_txt_tdate";
        }
        else
        {
            targetdate = clientid +  f.tostring() + "_txt_tdate";
        }
        

        string script;
        script = "<script language=" + (char)34 + "javascript" + (char)34 + "  >";
        script += "function getdate(result,ctrl)";
        script += "{";
        script += "if(ctrl == 'txt_when' )";
        script += "{";
        script += "document.getelementbyid(" + (char)34 + startdate + (char)34 + ").value      = result;";
        script += "document.getelementbyid(" + (char)34 + startdate + (char)34 + ").innertext  = result;";
        script += "document.getelementbyid(" + (char)34 + startdate + (char)34 + ").readonly   = true;";
        script += "}";
        script += "else";
        script += "{";
        script += "document.getelementbyid(" + (char)34 + targetdate + (char)34 + ").value      = result;";
        script += "document.getelementbyid(" + (char)34 + targetdate + (char)34 + ").innertext  = result;";
        script += "document.getelementbyid(" + (char)34 + targetdate + (char)34 + ").readonly   = true;";
        script += "}";
        script += "}";
        script += "</script>";
        l1.text = script;
    }
         

points of interest

the intresting facts in this article is to use of dynamic loading controls clientid and literal controls to register javascript.

history

keep a running update of any changes or improvements you've made here.