2014-01-14 51 views
1

我使用JDeveloper 12c和ADF-BC和我面臨以下問題:如何跳過在ADF表中保留空白值?

我有一個<af:table>與5行(假定每行中一個<af:inputText>)。

這些行已被手動初始化,方法是將它們插入我在加載頁面之前調用的應用程序模塊的方法中。

我想允許行 - <af:inputText>在提交時爲空,但我不想將它們保留在數據庫中。

因此,如果我填充了5行中的2行,它必須只在數據庫中插入履行的行。

是否有任何有效的方法來實現這一點?

回答

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; 
} 
}