使用外部联接 tables 保存表单要求填写外部 table 的必填字段

Saving form with outer join tables ask for filling mandatory fields of outer table

我在采购订单表格中添加了一个table作为数据源。因为它的数据显示在采购订单表格的选项卡中。此 table 填写在从采购订单表格打开的表格中。一开始加入源的link类型是Delayed。但是用户要求我在采购订单网格中显示 table 的字段,该字段应该是可过滤的。如您所知,如果 link 类型延迟,则在选择记录时显示其值。因为这是一种parent-child关系。 child 需要知道它的 parent。 另一方面,如果我选择外连接 link 类型,当我想更改采购订单或添加新订单时,警告显示必须填写 table 必填字段。但是,即使在确认采购订单后,这些字段总是稍后填写。

那么你的建议是什么?有什么方法可以将字段添加到采购订单网格中,用户可以在其中过滤它?

如果您使用外连接,您需要为您的数据源创建一个扩展,而不是在 writevalidateWrite 方法中调用 next:

[ExtensionOf(formDatasourceStr(PurchTable, NewDataSource))]
public final class PurchTableNewDataSourceDS_Extension
{
    public void write()
    {
        //next write();
    }

    public boolean validateWrite()
    {
        boolean ret = true;
   
        //ret = next validateWrite();      

        return ret;
    }
}