在我的应用程序(ExtJS 4.2.1)中,我有一个用于创建新记录并将其保存到数据库的窗口。
当我创建窗口并显示它时,我创建了一个新记录并将其分配给窗口窗体记录:
onNewPunchClick: function(button, e, options) {
var me = this;
var win = Ext.create('App.view.attendance.punch.EditPunch'),
editForm = win.down('#editForm');
var newRec = Ext.create('App.model.attendance.DailyTime', {
AttendanceId: 0,
EmployeeId: 0,
SensorId: 0,
IsManual: true,
IsActive: true
});
// load record to form
editForm.loadRecord(newRec);
win.show();
},
然后显示我的表单,但有些字段的字符“0”如下:
所以我试图解决这个问题,但我无法正常工作:
我尝试在模型中使用
convert
函数,该函数在0值时返回' '
。我也试图在模型中使用
defaultValue
而没有任何成功。我在创建模型时尝试设置
EmployeeId: ''
但没有成功。
我应该缺少一些东西,真的很感激任何帮助。
答案 0 :(得分:0)
效果很好的解决方案是:
在您的模型中设置您希望具有所需行为的属性,如下所示:
{ name: 'EmployeeId', type: 'int', defaultValue: '', convert: null },
然后在创建模型时将属性设置为undefined。
var newRecord = Ext.create('CustomModel',{
EmployeeId: undefined
});
然后加载表单:
form.loadRecord(newRecord);
提交表格后:
form.updateRecord(newRecord);