DateField的时间限制的总结:
1)两个DateField之间的时间限制:例如:DateFieldStartDate为开始时间,DateFieldEndDate为结束时间,结束时间的选择不能在开始时间之前;代码如下:
<ext:Anchor Horizontal="90%">
<ext:DateField runat="server" ID="DateFieldStartDate"FieldLabel="Assigned<span class='RedStar'>*</span>"
Vtype="daterange" MaxDate="" meta:resourcekey="DateFieldStartDateResource"MinDate="" SelectedDate="" AllowBlank="false">
<Listeners>
//注意设定这里的结束时间
<Render Handler="this.endDateField = '#{DateFieldEndDate}';" />
</Listeners>
</ext:DateField>
</ext:Anchor>
<ext:Anchor Horizontal="90%">
<ext:DateField runat="server" ID="DateFieldEndDate"FieldLabel="Deadline<span class='RedStar'>*</span>"
Vtype="daterange" MaxDate=""meta:resourcekey="DateFieldEndDateResource"MinDate="" SelectedDate="" AllowBlank="false">
<Listeners>
//设定开始时间<Render Handler="this.startDateField = '#{DateFieldStartDate}'" />
</Listeners>
</ext:DateField>
</ext:Anchor>
2). 三个DataField之间的时间限制: 例如:DateFieldStartDate为开始时间,DateFieldEndDate为结束时间,DateFieldActualEnd为实际结束时间,代码如下:
代码
//开始时间
<ext:DateField runat="server" ID="DateFieldStartDate" FieldLabel="Assigned"Width="183px" Vtype="daterange" AllowBlank="false">
<Listeners>
<Focus Handler="startDateSet()" />
</Listeners>
</ext:DateField>
//结束时间
<ext:DateField runat="server" ID="DateFieldEndDate" FieldLabel="Deadline"Vtype="daterange" Width="183px" AllowBlank="false">
<Listeners>
<Render Handler="this.endDateField = '#{DateFieldActualEnd}'" />
<Focus Handler="endDateSet()" />
</Listeners>
</ext:DateField>
//实际结束时间
<ext:DateField runat="server" ID="DateFieldActualEnd" FieldLabel="Completed"Width="183px" Vtype="daterange">
<Listeners>
<Render Handler="this.startDateField = '#{DateFieldEndDate}'" />
</Listeners>
</ext:DateField>
js代码:
代码
function startDateSet() {
var lockDate = new Date(Date.parse("<%= lockTimeString %>".replace(/-/g, "/")));
Ext.getCmp("<%=DateFieldStartDate.ClientID %>").setMinValue(lockDate);Ext.getCmp("<%=DateFieldStartDate.ClientID %>").setMaxValue(Ext.getCmp("<%=DateFieldEndDate.ClientID %>").getValue());
//Ext.getCmp("<%=DateFieldActualEnd.ClientID %>").setMinValue(start);
}
function endDateSet() {
Ext.getCmp("<%=DateFieldEndDate.ClientID %>").setMinValue(Ext.getCmp("<%=DateFieldStartDate.ClientID %>").getValue());
Ext.getCmp("<%=DateFieldEndDate.ClientID %>").setMaxValue(Ext.getCmp("<%=DateFieldActualEnd.ClientID %>").getValue());}