我需要一个扩展的datefield 控件, 可以输入 至今 文字在输入框内!

问题描述

如题:我需要一个扩展的datefield 控件, 可以输入 至今 文字在输入框内!想要的效果如下图: 问题补充:飞雪无情 写道

解决方案

兄弟,我再给你找一点,这个Today是在DatePicker.js里修改todayText : 'Today',//这里改成“至今”//创建Today按钮的地方。this.todayBtn = new Ext.Button({ renderTo: this.el.child('td.x-date-bottom', true), text: String.format(this.todayText, today), tooltip: String.format(this.todayTip, today), handler: this.selectToday, scope: this }看到了吗?那个handler绑定的就是点击的函数。这里是selectToday。selectToday : function(){ if(this.todayBtn && !this.todayBtn.disabled){ this.setValue(new Date().clearTime()); this.fireEvent('select', this, this.value); } }看到这个函数力的 this.setValue(new Date().clearTime());设置今天的值。你这里 this.setValue("至今");就好了。
解决方案二:
这个要去阅读源代码了。看看在哪里生成的Today按钮。然后你就改正他的显示文本和单击事件。。
解决方案三:
呵呵。这大概只能给你个思路,剩下的要自己来,这样才能提高。我再给你找一点吧。DateFied.js文件(源代码。)setValue : function(date){ return Ext.form.DateField.superclass.setValue.call(this, this.formatDate(this.parseDate(date))); }看到了吗?这是赋值的地方,从这里看到对date数据有两层验证,一个是parseDate(),一个是函数。然后这两个函数// private parseDate : function(value) { if(!value || Ext.isDate(value)){ return value; } var v = this.safeParse(value, this.format), af = this.altFormats, afa = this.altFormatsArray; if (!v && af) { afa = afa || af.split("|"); for (var i = 0, len = afa.length; i < len && !v; i++) { v = this.safeParse(value, afa[i]); } } return v; },// private formatDate : function(date){ return Ext.isDate(date) ? date.dateFormat(this.format) : date; }看到了吧。你就在这里改一下就行了。在这两个函数的开头加上对“至今”的判断。// private parseDate : function(value) {if(Ext.isString(value)&&value=="至今"){return value;} if(!value || Ext.isDate(value)){ return value; } var v = this.safeParse(value, this.format), af = this.altFormats, afa = this.altFormatsArray; if (!v && af) { afa = afa || af.split("|"); for (var i = 0, len = afa.length; i < len && !v; i++) { v = this.safeParse(value, afa[i]); } } return v; },// private formatDate : function(date){if(Ext.isString(value)&&value=="至今"){return value;} return Ext.isDate(date) ? date.dateFormat(this.format) : date; }上面是我大概该的,没有测试,你试试,同时为你提供个改的方法
解决方案四:
拿给你个提示吧。这个datefield 也支持手工录入的,只要就是验证过不去,你把验证哪一块的源代码改一下,或者扩展datefield ,重写日写验证方法,把至今的验证去掉,也就是如果取得的文本是“至今”,就不执行日期验证,其他的还照旧
解决方案五:
为什么这么做?这样还要改格式验证,因为“至今”不是一个有效的日期。。直接输入今天的日期不行吗?

时间: 2024-08-08 16:27:56

我需要一个扩展的datefield 控件, 可以输入 至今 文字在输入框内!的相关文章

使用javascript实现一个高级组合查询控件(内含初步实现原型)

在很多项目中,特别是信息系统,查询功能占了项目的大部分:同时查询条件的组合要求丰富,因此实现起来变得复杂.一般情况下,我们只会实现有限的条件查询,如一个表的某几个重要的字段或者甚至所有的字段:当然,常规的情况下客户是足够用的,但一些高级的应用,如((字段1>10) or (字段2=5)) and 字段3 is not null) 这种复杂的条件组合,就不一定适合了,通常如果是固定几种组合模式,这样我们还可以在后台用语言(java.c#等)实现,要是条件组合是动态的,那么实现起来就相当麻烦了. 因

[ASP.NET MVC]通过对HtmlHelper扩展简化“列表控件”的绑定

在众多表单元素中,有一类<select>元素用于绑定一组预定义列表.传统的ASP.NET Web Form中,它对应着一组重要的控件类型,即ListControl,我们经常用到DropDownList, ListBox.CheckBoxList和RadioButtonList都是其子类.ASP.NET MVC通过对HtmlHelper和HtmlHelper<TModel>的扩展实现了对不同类型的<select>元素的绑定,它们以扩展方法的形式定义在SelectExten

扩展了Repeater控件的EmptyDataTemplate模板功能_实用技巧

Repeater控件是一个数据显示控件,该控件允许通过为列表中显示的每一项重复使用指定的模板来自定义布局. 相对于GridViews和DataList来说Repeater是一个相当轻巧.灵活的控件,能耗也比它们要小很多.美中不足的是功能略显单薄,尤其是用于绑定的数据源没有数据的情况下,往往要使用一个隐藏面版来显示"暂时没有任何数据"信息.太麻烦了. 于是自行扩展了Repeater控件的EmptyDataTemplate模板已达到同样的效果. (vs2008)自定义一个Repeater控

一个类似于Calendar日期控件,不用再刷新页面。

1. 一个类似于Calendar日期控件,不用再刷新页面. 2. 判断文本控件里的值是否能转换成日期型. .htc 例1: /* *xpMask.htc * */ //------------------------------------------------------------------------------------------------------ <PUBLIC:COMPONENT lightWeight=false > <PUBLIC:DEFAULTS cont

写一个简单的登陆控件

控件 login.ascx 由于在页面上很频繁使用登陆,把它做成一个控件是很有必要的,下面就是我写的一个简单的登陆控件,大家可以根据的需要完善一下. <%@ Import Namespace="System.Data" %><%@ Import Namespace="System.Data.Oledb" %><script language="VB" runat="server">Sub P

imageview-Android中怎么让一个布局中所有控件都获得这个布局的点击状态

问题描述 Android中怎么让一个布局中所有控件都获得这个布局的点击状态 我在一个线性布局中有一个ImageView和一个TextView,怎么设置点击这个线性布局的时候ImageView处于选取状态,还有selector怎么设置 解决方案 你可以在这个layout的点击事件中,设置ImageView的setPressed(true),这样就可以在selector中因公pressed的设置了 解决方案二: 我想你正需要它们: setDuplicateParentStateEnabled 子控件

在一个activity里如何监听另一个xml里的控件的事件

问题描述 在一个activity里如何监听另一个xml里的控件的事件 比如我有两个xml:main.xml和main1.xml 我在一个activity里setcontentView(R.layout.main) 而我想在这个activity里监听main1.xml里一个button按钮的点击事件,我应该怎么做? 求大神指导.(试过了LayouInflater拿到了main1.xml里button的id,但是设置onclicklister后系统没有响应点击事件) 解决方案 直接绑定监听是做不到的

MFC在登陆页面中 加一个显示验证码的控件应该加哪个?图片从一个网页中加载出来的

问题描述 MFC在登陆页面中 加一个显示验证码的控件应该加哪个?图片从一个网页中加载出来的 http://202.200.144.63/(gac14yvwcsjrzj45cx1fq4ed)/CheckCode.aspx 我想把这网页里的图片显示在登陆界面作为验证码,请问我该在对话框中加什么控件,我用的是下边的方法 CHtmlView* pView= (CHtmlView*)m_wndSplit.GetPane(0,1); pView->Navigate("http://hao.201201

dev bcb 控件-需找一个BCB或者DEV控件(左边图片显示右边下拉列表控件)

问题描述 需找一个BCB或者DEV控件(左边图片显示右边下拉列表控件) 我想寻找到一个BCB或者DEV的控件,就是左边是显示一张图片右边是下拉列表,下拉列表可以进行多选组合.