我已经在DataSource CompanyImage中拖动了一个带有enum字段的简单表单:
Table CompanyImage在我的示例中在此字段上有一个名为Brand的索引,AllowDuplicates设置为 No :
以下是表格:
我已经覆盖了表单的close()方法,如下所示:
public void close()
{
CompanyImage_ds.write();
super();
}
当我关闭它时会显示错误
“无法在CompanyImage(CompanyImage)中创建记录 . 法律实体:示例1.记录已存在 . ”
这没关系,但我希望在发生这种情况时停止关闭窗口 . 一个 validateWrite()
会很好但我真的无法弄清楚在哪里和写什么来完成这个行为 .
我的意思是,如何检查添加新行并且它包含表中已存在的字段?
2 回答
您不必强制使用write()方法 . 关闭表单应该已经完成了 .
如果您希望检查某些内容以允许关闭表单,则执行时close()方法为时已晚 . 您应该利用canClose()方法 .
您可以覆盖网格列的validate方法 . 您需要在该方法中编写一些验证逻辑,但如果验证失败,则会阻止列保存 .