我已经在网格上创建了一个带有枚举字段的简单表单,从DataSource CompanyImage 拖出:
表CompanyImage在我的示例中名为Brand的此字段上有一个索引,AllowDuplicates设置为否:
以下是表格:
我已经覆盖了表单的close()方法,如下所示:
public void close()
{
CompanyImage_ds.write();
super();
}
当我关闭它时显示错误
"无法在CompanyImage(CompanyImage)中创建记录。法人实体:例1。 该记录已存在。"
那很好,但我希望在发生这种情况时停止关闭窗口。 validateWrite()
会很好但是我无法确定要写入的位置和内容以实现此行为。
我的意思是,如何检查是否添加了新行并且它包含表中已存在的字段?
答案 0 :(得分:4)
您不必强制使用write()方法。关闭表单应该已经完成了。
如果您希望检查某些内容以允许关闭表单,则执行时close()方法为时已晚。您应该使用canClose()方法。
答案 1 :(得分:0)
您可以覆盖网格列的验证方法。您需要在该方法中编写一些验证逻辑,但如果验证失败,则会阻止列保存。
playSegue