用TemplateColumn,在模板中加入验证控件对相应的控件进行验证。

解决方案 »

  1.   

    <asp:TemplateColumn HeaderText="起始时间">
    <HeaderStyle ForeColor="Blue" Width="120px"></HeaderStyle>
    <ItemStyle Width="120px"></ItemStyle>
    <ItemTemplate>
    <asp:Label ID="qssj" Runat=server Width="90px" Font-Name="宋体" Text='<%# DataBinder.Eval(Container.DataItem,"qssj") %>'>
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:TextBox ID="qssjedit" Runat="server" Width="80px" Height="20px" Font-Name="宋体" Text='<%# DataBinder.Eval(Container.DataItem,"qssj") %>'>
    </asp:TextBox>
    <asp:requiredfieldvalidator id="qssjRequiredfieldvalidator" runat="server" ErrorMessage="请输入起始时间!" ControlToValidate="qssjedit">*</asp:requiredfieldvalidator>
    <asp:regularexpressionvalidator id="qssjRegularExpressionValidator" runat="server" ErrorMessage="起始时间日期格式错误!" ControlToValidate="qssjedit" ValidationExpression="\d{4}-\d{2}-\d{2}">*</asp:regularexpressionvalidator>
    <asp:CompareValidator ID="qssjCompareValidator" Runat="server" ErrorMessage="起始时间无效" Type="Date" Operator="DataTypeCheck" ControlToValidate="qssjedit">*</asp:CompareValidator>
    </EditItemTemplate>
    </asp:TemplateColumn>
      

  2.   

    注:Datagrid只有UpdateCommand事件才能响应验证