65.9K
CodeProject 正在变化。 阅读更多。
Home

ASP.net GridView 中的日期选择器

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.66/5 (13投票s)

2008年4月30日

CPOL
viewsIcon

67825

downloadIcon

1983

ASP.net GridView 中的日期选择器

简介

这段代码简化了在 GridView 中添加日期时间选择器的实现,它使用了 ASP.net 内置控件,无需任何第三方工具,解决了在 GridView 内部编辑日期值的问题。


使用代码

在深入了解代码的工作原理之前,让我解释一下我在此处使用的技巧:在行编辑事件中获取特定单元格文本框的客户端 ID,并将其与 Javascript 注册,可以准确满足在 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;
    }
         

重点

本文的有趣之处在于使用动态加载控件客户端 ID 和字面量控件来注册 Javascript。

历史记录

在此处持续更新您所做的任何更改或改进。

© . All rights reserved.