单击GridView的TextBox,显示Calendar

ASP.NET GridView中集成日历控件
本文介绍如何在ASP.NET的GridView控件中集成日历控件以实现日期选择功能。通过自定义模板字段,结合JavaScript实现日历显示隐藏效果,并在选择日期后更新文本框中的值。

ASP

<script type="text/javascript">


function ToggleVisiblity(ShowHideButton, Calendar)
{
var calendar = self.document.getElementById(Calendar);
if (calendar.style.display == 'none')
calendar.style.display = 'block';
else
calendar.style.display = 'none';
}

</script>

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" Width="794px" onrowdatabound="GridView1_RowDataBound" >
<Columns>
<asp:TemplateField HeaderText="进货日期">
<EditItemTemplate>
</EditItemTemplate>
<ItemTemplate>
<asp:TextBox ID="CalendarTB" runat="server" CssClass="ShowHideButton" Text="点击选择日期"></asp:TextBox>
<asp:Calendar ID="Calendar1" runat="server" OnSelectionChanged="Calendar1_SelectionChanged" style="display:none" ></asp:Calendar>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<EmptyDataTemplate>
没有相关数据!
</EmptyDataTemplate>

</asp:GridView>

ASP.C#

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
TextBox btnShowHide = (TextBox)e.Row.FindControl("CalendarTB");
Calendar OrderCalendar = (Calendar)e.Row.FindControl("Calendar1");
string ShowHideScript = "ToggleVisiblity(this,'" + OrderCalendar.ClientID + "');return false";
btnShowHide.Attributes.Add("onfocus", ShowHideScript);
}
}
protected void Calendar1_SelectionChanged(object sender,EventArgs e)
{
Calendar OrderCalendar = (Calendar)sender;
TextBox txtOrderDate = (TextBox)(OrderCalendar.Parent.FindControl("CalendarTB"));
txtOrderDate.Text = OrderCalendar.SelectedDate.ToShortDateString();
}

以上是我经过修改的

附上原文http://www.vbknowledgebase.com/?Id=127&Desc=Asp.net-GridView-Calendar

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值