[img][/img]{
xtype : 'datefield',
fieldLabel : '月份',
format : "Y-m",
name : 'yueFen',
operator : '='}]
}
上述作为查询条件,实际传递的值为Y-m-d,要怎么样才能只传递年和月啊?
你是通过Ajax传到后台的吗,我就不信你前边用一个字符串"2010-06"当作参数传到后台,后台用个String型的进行接收,能变成"2010-06-22"
我想前后台还没有这么智能能想到你大脑里想什么
你用的是 xtype : 'datefield', 是日期型的,格式都是选择 年/月/日三项的
你可以改写一下,或者去网上搜一个年月的控件
你是用的getValue()方法取的值, 还是用form的submit(或doAction),还是通过dom取的值?
getValue()取出的值为Date类型,如果想传串的话,就得进行一次格式化。
后两者的话应该直接传过去就是你给datefield的format配置那样格式的数据。
getValue().format("Y-m");
或者是 el.dom.value
都可以得到你想要的结果
或者给datefield加一个额外的方法
xtype : 'datefield',
fieldLabel : '月份',
format : "Y-m",
name : 'yueFen',
operator : '=',
value : function(){
return Ext.form.DateField.superclass.getValue.call(this);
//或者是 return this.getValue().format(this.format);
}
也可以把value改成getValue覆盖类中定义的方法
不知道你是怎么写的,反正在我机器上用2.2和3.0测试,以下语句都可以得出正确的值
var value = formpanel.getForm().findField("date").getValue();
alert(formpanel.getForm().getValues().date);
alert(formpanel.getForm().findField("date").el.dom.value);
alert(value.format("Y-m"))
做新增保存时
也就是说你ext传到后台是对的,只是oracle默认加了个日期,是吗?
你这个是日期型的,有日期是对的
你后台用什么数据类型接收的