我正在ExtJS中编写一个应用程序,它使用WebSQL将数据存储在浏览器的SQLite数据库中。 (这些要求仅针对web-kit浏览器,幸运的是我吗?)我遇到了日期字段的问题。
我在我的UI中使用ExtJS的datefield
来处理Javascript日期。我的SQLite架构使用datetime
字段来存储它们。当我保存数据时,SQLite抱怨绑定违规,但数据仍然存在,所以我并不在乎。
问题是我需要在SQLite中进行一些比较,以便填充ExtJS网格。但是因为日期格式是Javascript数据格式而不是SQLite可接受的datetime
格式之一,所以在sql中进行比较不起作用。
我的sql无法比较日期,因为它不是SQLite期望的格式。我该如何解决这个问题?
我在保存数据时尝试使用Ext.Data.format()将其置于SQLite喜欢的格式("Y-m-d"
)但无济于事。我还研究了使用Date()
函数在我的sql中从Javascript Date格式转换为SQLite日期时间格式,但这也没有用。
有什么想法吗?
答案 0 :(得分:1)
它既不适用于此?
Ext.create ('Ext.container.Container', {
renderTo: Ext.getBody () ,
items: [{
xtype: 'datefield' ,
fieldLabel: 'date' ,
format: "Y-m-d"
} , {
xtype: 'button' ,
text: 'Push me' ,
listeners: {
click: function (button) {
console.log (button.previousSibling('datefield').getRawValue());
}
}
}]
});
打印'2012-05-12'。 如果你使用了getValue(),那你就错了,因为(来自ExtJS Doc):
返回字段的当前数据值。返回的值的类型特定于特定字段的类型(例如,Ext.form.field.Date的Date对象),作为在字段的已处理字符串值上调用rawToValue的结果。要返回原始String值,请参阅getRawValue。
希望这能帮到你:D
侨