我在JDeveloper中使用ADF并且没有任何经验。现在我遇到了一些麻烦,但是对于这个特殊的事情,我决定咨询一下stackoverflow。
问题是,我有一个包含3个复选框的对象的编辑表单。选中的值设置为1,未选中为0.在我的数据库中,值为NOT NULL,我希望保持这种状态。
问题是,在编辑表单中,如果用户提交表单而未选中任何框,则会导致错误,因为未选中的框值显然保持为空。只有在检查然后再次取消选中复选框后,它们的值才会为“0”而不是空值。
我尝试了一些东西,包括在域BCD中强制使用属性,但这只是给出了一些更整洁的错误信息..
非常感谢任何帮助!!
修改
由于Joe提供的指南,我取得了一些进展,但仍遇到问题。
我更改了模型中应该是复选框的值,使其成为表列为NUMBERs的BOOLEAN(所有也是必需的,默认值为0)。 这也自动更改了相应的View对象。在应用程序模块中,现在这很好用。它显示了复选框,选中的复选框将返回1,未触及的复选框将返回0。
但是,我删除了旧表单,并使用相应的数据控件插入了新表单。我给了这些值复选框类型。 我仍然需要编辑绑定(我认为这反映了问题,因为这不是例如模型级定义的LOV的情况)并且给了它们1用于检查而0用于未检查。
但是,现在除了原始问题之外,检查后也无法取消选中复选框,选中时返回0(保持不变时为null)。
即使这会产生新问题,也可以在我的AM 中正常运行。有人知道我在Swing表单中做错了什么吗?
答案 0 :(得分:0)
此链接可能会有所帮助: http://theo.vanarem.nl/2010/07/07/adf-checkbox-representing-a-yes-or-no-value/
或
扩展EO impl并覆盖doDML并检查每个属性 - 如果为null,则将其设置为0