2012-03-29 65 views
-1

我在我的webform中得到了2个DateEDit控件:StartDate和EndDate 我想验证当EndDate更改时,它不会比StartDate更早。另外我想验证当StartDate更改时,EndDate会重置StartDate的值+ 1天。DevExpress DateEdit刷新

我设法做到这一点激活AutoPostBack,但似乎不太好......没有它的事件DateChanged不触发。

 <td><dx:ASPxLabel ID="lbl_StarDate" runat="server" Text="Start Date:" Font-Bold="True" Visible="True"> 
      </dx:ASPxLabel></td> 
     <td><dx:ASPxDateEdit ID="de_StartDate" runat="server" Height="19px" Width="240px"></dx:ASPxDateEdit></td> 
    </tr> 
    <tr> 
     <td><dx:ASPxLabel ID="lbl_EndDate" runat="server" Text="End Date:" Font-Bold="True" Visible="True"> 
      </dx:ASPxLabel></td> 
     <td><dx:ASPxDateEdit ID="de_EndDate" runat="server" Height="17px" Width="220px"></dx:ASPxDateEdit></td> 

你能帮我解决吗?

回答

1

这一切都可以在JavaScript中完成。要触发JavaScript事件,你的aspx更改为以下:

<tr> 
     <td> 
      <dx:ASPxLabel ID="lbl_StarDate" runat="server" Text="Start Date:" Font-Bold="True" 
       Visible="True" /> 
     </td> 
     <td> 
      <dx:ASPxDateEdit ID="de_StartDate" ClientInstanceName="de_StartDate" runat="server" 
       Height="19px" Width="240px"> 
       <ClientSideEvents ValueChanged="OnStartDateChanged" /> 
      </dx:ASPxDateEdit> 
     </td> 
    </tr> 
    <tr> 
     <td> 
      <dx:ASPxLabel ID="lbl_EndDate" runat="server" Text="End Date:" Font-Bold="True" Visible="True" /> 
     </td> 
     <td> 
      <dx:ASPxDateEdit ID="de_EndDate" runat="server" Height="17px" Width="220px"> 
       <ClientSideEvents ValueChanged="OnEndDateChanged" /> 
      </dx:ASPxDateEdit> 
     </td> 
    </tr>  

然后处理JavaScript中的各个方法:

<script type="text/javascript"> 

    function OnStartDateChanged(s, e) { 
     //code here 
    } 

    function OnEndDateChanged(s, e) { 
     //code here 
    } 

</script>