在ASP.Net Gridview中将值从一个文本框传递到另一个文本框

时间:2011-12-22 17:47:15

标签: c#

我在GridView中有两个字段 1.通知日期 2.生效日期

当用户在通知日期输入/更改日期时,我想在通知日期值中添加10个附加日,并在每次用户更改通知日期时自动填充生效日期。请指教:

<asp:DetailsView ID="DetailsView1" runat="server" 
DataKeyNames="ID"
DataSourceID="ObjectDataSource1"
OnDataBound="DetailsView_OnDataBound">
<Fields>  

<asp:TemplateField HeaderText="Notification Date">
<HeaderTemplate><span style="color:Red;">*</span> Notification Date  </HeaderTemplate>
<InsertItemTemplate>
<asp:TextBox ID="txtNotificationDate" runat="server" Width="150" Text=""    />
<cc1:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="txtNotificationDate" PopupPosition="Right"/>
</InsertItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtNotificationDate" runat="server" Width="150" Text='<%# Eval("NotificationDate", "{0:d}") %>' />
<cc1:CalendarExtender ID="CalendarExtender1" runat="server" TargetControlID="txtNotificationDate" PopupPosition="Right"/>
</EditItemTemplate>
</asp:TemplateField>

<asp:TemplateField HeaderText="Effective Date">       
<InsertItemTemplate>
<asp:TextBox ID="txtEffectiveDate" runat="server" Width="150" Text=""    />
<cc1:CalendarExtender ID="CalendarExtender2" runat="server" TargetControlID="txtEffectiveDate" PopupPosition="Right"/>
</InsertItemTemplate>
<EditItemTemplate>
<asp:TextBox ID="txtEffectiveDate" runat="server" Width="150" Text='<%# Eval("EffectiveDate", "{0:d}") %>' />
<cc1:CalendarExtender ID="CalendarExtender2" runat="server" TargetControlID="txtEffectiveDate" PopupPosition="Right"/>
</EditItemTemplate>
</asp:TemplateField>

</Fields>
</asp:DetailsView>

1 个答案:

答案 0 :(得分:0)

您是否已婚于使用AjaxControlToolkit?你考虑过jqueryui吗?如果您将字段设置为datepicker,则可以收听第一个框的change事件并相应地更新第二个字段。

<强>更新 CalendarExtender的工作方式可能与datepicker相同。如果您想立即显示更新,则需要使用javascript。你仍然需要听取改变事件。