三个DateField之间的时间限制

      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为实际结束时间,代码如下:

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
// 开始时间
< 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代码:

 

ContractedBlock.gif ExpandedBlockStart.gif 代码
 
   
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());
}

 

转载于:https://www.cnblogs.com/mystar/archive/2010/08/12/1797822.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值