DateField的时间限制的总结:
1)两个DateField之间的时间限制:例如:DateFieldStartDate为开始时间,DateFieldEndDate为结束时间,结束时间的选择不能在开始时间之前;代码如下:
<
ext:Anchor Horizontal
=
"
90%
"
>
< ext:DateField runat = " server " ID = " DateFieldStartDate "
< ext:DateField runat = " server " ID = " DateFieldStartDate "
FieldLabel
=
"
Assigned<span class='RedStar'>*</span>
"
Vtype = " daterange " MaxDate = "" meta:resourcekey = " DateFieldStartDateResource "
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 "
< 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 = ""
Vtype = " daterange " MaxDate = ""
meta:resourcekey
=
"
DateFieldEndDateResource
"
MinDate
=
""
SelectedDate
=
""
AllowBlank
=
"
false
"
>
< Listeners >
// 设定开始时间
< Listeners >
// 设定开始时间
<Render Handler="this.startDateField = '#{DateFieldStartDate}'" />
</ Listeners >
</ ext:DateField >
</ ext:Anchor >
</ Listeners >
</ ext:DateField >
</ ext:Anchor >
2). 三个DataField之间的时间限制: 例如:DateFieldStartDate为开始时间,DateFieldEndDate为结束时间,DateFieldActualEnd为实际结束时间,代码如下:
代码
//
开始时间
< ext:DateField runat = " server " ID = " DateFieldStartDate " FieldLabel = " Assigned "
< 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 "
< 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 "
< 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 >
< 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);
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 %> " ).
// Ext.getCmp("<%=DateFieldActualEnd.ClientID %>").setMinValue(start);
}
function endDateSet() {
Ext.getCmp( " <%=DateFieldEndDate.ClientID %> " ).
setMinValue(Ext.getCmp(
"
<%=DateFieldStartDate.ClientID %>
"
).getValue());
Ext.getCmp( " <%=DateFieldEndDate.ClientID %> " ).
Ext.getCmp( " <%=DateFieldEndDate.ClientID %> " ).
setMaxValue(Ext.getCmp(
"
<%=DateFieldActualEnd.ClientID %>
"
).getValue());
}