如何跳过ADF表中的持久空白值?

时间:2014-01-14 14:51:48

标签: oracle-adf jdeveloper

我正在使用JDeveloper 12c和ADF-BC,我遇到了以下问题:

我有一个<af:table>有5行(每行假设一个<af:inputText>)。

这些行已经通过将它们插入到我在页面加载之前调用的应用程序模块的方法中手动初始化。

我想允许行 - <af:inputText>在提交时为空,但我不想将它们保留在数据库中。

因此,如果我填写了5行中的2行,则必须仅在DB上插入已完成的行。

有没有有效的方法来实现这个?

1 个答案:

答案 0 :(得分:0)

您可以尝试在提交前获取行的状态,然后根据您的要求将其删除

您需要将一行传递给getRowStatus方法,并根据需要将其状态删除

  public String getRowStatus(Row row) {
    JobsViewRowImpl rwImpl = (JobsViewRowImpl)row;
    byte newRowState = rwImpl.getNewRowState();
    String rwStatus = translateStatusToString(rwImpl.getEntity(0).getEntityState());
    return rwStatus;
}

private String translateStatusToString(byte b) {
    String ret = null;
    switch (b) {
    case Entity.STATUS_INITIALIZED:
        {
            ret = "Initialized";
            break;
        }
    case Entity.STATUS_MODIFIED:
        {
            ret = "Modified";
            break;
        }
    case Entity.STATUS_UNMODIFIED:
        {
            ret = "Unmodified";
            break;
        }
    case Entity.STATUS_NEW:
        {
            ret = "New";
            break;
        }
    }
    return ret;
}
}