|
请问:
我用“单表—列表+详细(对话框)”模板新建了.W文件。
列表页面点击新建按钮时,在对话框页面中新建主表的同时新建了关联的子表,新建代码如下:
Model.prototype.windowReceiverReceive = function(event) {
debugger;
this.action = event.data.action;
var mainData = this.comp('mainData');
var detaildata = this.comp("detailData");
mainData.clear();
detaildata.clear();
if (event.data.action === "new") {
mainData.newData();
var options = {
defaultValues : [ {
fMonth : '01月',
fMonthID : '1'
}, {
fMonth : '02月',
fMonthID : '2'
}, {
fMonth : '03月',
fMonthID : '3'
}, {
fMonth : '04月',
fMonthID : '4'
}, {
fMonth : '05月',
fMonthID : '5'
}, {
fMonth : '06月',
fMonthID : '6'
}, {
fMonth : '07月',
fMonthID : '7'
}, {
fMonth : '08月',
fMonthID : '8'
}, {
fMonth : '09月',
fMonthID : '9'
}, {
fMonth : '10月',
fMonthID : '10'
}, {
fMonth : '11月',
fMonthID : '11'
}, {
fMonth : '12月',
fMonthID : '12'
} ]
};
detaildata.newData(options);
} else {
mainData.setFilter("filter1", mainData.idColumn + "='" + event.data.getID() + "'");
mainData.refreshData();
detaildata.setFilter("filter1", detaildata.master.relation + "='" + event.data.getID() + "'");
detaildata.refreshData();
}
};
然后,我在detailData中添加了如下必填规则
Model.prototype.test = function(param) {
debugger;
var date = new Date();
var month = date.getMonth() + 1;
var detailData = this.comp("detailData");
if (month * 1 < param * 1 && param * 1 < month * 1 + 4)
return true;
else
return false;
};
但是该规则对于新建数据时能有效执行,对于以有数据进行修改时就不能执行了,请问怎么解决?
|
|