2013-06-19 44 views
1

我正在更新用ADF 11.1.1.3編寫的應用程序。在幾乎所有的屏幕中,我都有帶有可編輯字段的ADF表格,並且每個表格都啓用了行選擇器。ADF表可編輯字段問題

我有一個問題,如果用戶單擊尚未選定的表格行的可編輯字段中,字段行選擇器似乎開火,然後瀏覽器失去焦點在用戶打算的字段上選擇。

​​

每上面我舉的例子屏幕,第二錶行當前選擇。但是,如果我在第3行中的任何可編輯字段(如結束日期)內單擊,瀏覽器會將焦點置於該字段上。但是,表格行選擇偵聽器在之後立即調用,然後將焦點從最初點擊的字段中移除。這發生在任何可編輯的字段類型上。

最煩人的是當我更新表格行(未選中)的複選框時,該值立即被其原始值覆蓋。

目前,解決此問題的唯一方法是用戶首先選擇表格行,然後更新字段數據。

有關於此問題的任何經驗?我正在考慮一個客戶端的聽衆或價值變化的聽衆,但想看看你的想法是什麼。

謝謝!

更新01: 我設置「立竿見影」屬性設置爲「真」爲表,仍然得到同樣的結果。我將immediate = true應用於父面板框,結果相同。

更新02: 表的迭代器和綁定的ChangeEventPolicy被設置爲默認值(無)。但我把它設置爲無論如何。相同的結果..

更新03: 刪除驗證器,結果相同。

+0

爲什麼使用行選擇? –

+0

根據所選表記錄設置主從關係。最初的開發人員寫了功能,以便用戶可以選擇錶行,刪除它們並選擇next/prev記錄(我不知道爲什麼下一個/ prev記錄按鈕被添加)。 – GavinWoods

+0

我確實找到了一個頁面,其中選擇偵聽器和可編輯字段正常工作。乍一看,它們幾乎完全一樣。區別在於字段驗證器。另一個不同之處在於功能頁面上的選擇監聽器運行速度更快。我正在考慮運行我們不需要的額外的驗證週期。 – GavinWoods

回答

0

您的選擇監聽器仍然保留「#{bindings.xxx.collectionModel.makeCurrent}」嗎?這用於將當前選定的行設置爲當前行,如果刪除了該行,則意味着即使通過單擊字段來選擇行,該模型仍然在其迭代器中選擇了前一行。