想要在GridView中进行日期验证
问题描述:
朋友们,
我有以下gridview,我想提供日期验证,当我单击更新或插入下拉列表时,selecteditem自动设置为selectedIndex = 0.
Hi friends,
I have a following gridview in that i want to provide date validations and when i click on update or insert the drop down selecteditem is auto set to selectedIndex=0.
<asp:GridView ID="GridView1" runat="server" Width="100%" OnRowUpdating="GridView1_RowUpdating" AutoGenerateColumns="False" CellPadding="1" ForeColor="Black" BackColor="LightGoldenrodYellow" BorderColor="Tan" BorderWidth="1px" BorderStyle="None" CaptionAlign="Top" CellSpacing="1" HorizontalAlign="Center">
<Columns>
<asp:TemplateField HeaderText="ID">
<ItemTemplate>
<asp:Label ID="lbl123" runat="server" Text='<%#Eval("id") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Hospital Name">
<ItemTemplate>
<asp:Label runat="server" ID="lblHospName" Text='<%#Eval("Hospitalname") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Hospital Type">
<ItemTemplate>
<asp:DropDownList runat="server" ID="ddlHospType" EnableViewState="true" >
<asp:ListItem Text="--Select--" Value="0"></asp:ListItem>
<asp:ListItem Text="Private" Value="1"></asp:ListItem>
<asp:ListItem Text="Govt" Value="2"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Hospital District Name">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtHospDistName" Text='<%#Bind("HopDistName") %>'></asp:TextBox>
</ItemTemplate>
<EditItemTemplate>
<asp:TextBox runat="server" ID="txtHospDistName" Text='<%#Bind("HopDistName") %>'></asp:TextBox>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Time Of Admission">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtTimeOfAdmin" Text='<%#Bind("TimeOFAdmission") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Time Of Discharge">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtTimeOfDischarge" Text='<%#Bind("TimeOfDischarge") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Claim Status">
<ItemTemplate>
<asp:DropDownList runat="server" ID="ddlClaimStatus">
<asp:ListItem Text="--Select--" Value="0"></asp:ListItem>
<asp:ListItem Text="Approved" Value="1"></asp:ListItem>
<asp:ListItem Text="Pending" Value="2"></asp:ListItem>
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Date Of Payment">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtDateOfPayment" Text='<%# Bind("DateOfPayment") %>' MaxLength="10"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Time Takem For Settlement Of Claim">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtTimeTakenForClaimSettlement" Text='<%# Bind("TimeTkanenforSettlementofClaim") %>'></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Float Submitted Date">
<ItemTemplate>
<asp:TextBox runat="server" ID="txtfsd1" Text='<%#Bind("fsd") %>' MaxLength="10"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Edit To Update">
<ItemTemplate>
<asp:LinkButton ID="btnEditInsert" runat="server" CommandName="Insert" Text="Insert" OnClientClick="return Submit_Click();" CommandArgument='<%#Container.DataItemIndex %>' />
<asp:LinkButton ID="btnEditUpdate" runat="server" CommandName="Update" Text="Update" OnClientClick="return Submit_Click();"/>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
答
为此使用比较验证器
例如:-
< itemtemplate>
use compare validator for this
example:-
<itemtemplate>
<ItemTemplate>
<asp:TextBox
id="txtDateOfPayment"
Text='<%# Bind("DateOfPayment") %>'
Runat="server" />
<asp:CompareValidator
id="cmpDate"
Text="(Invalid Date)"
ControlToValidate="txtDateOfPayment"
Type="Date"
Operator="DataTypeCheck"
Runat="server" />
</ItemTemplate>