我有一種情況,更新和保存交互式網格行中的某些列會導致更新其他一些行。默認情況下,只有更改的行將被刷新,並且對(現在更新的)行進一步更改將導致Current version of data in database has changed
錯誤。我設法通過在自定義interactivegridsave
上掛接動態操作來解決此問題(在更改保存在交互式網格中後觸發)。該行動本身是Execute JavaScript Code
執行這個(注意region_static_id
是一個佔位符):使用行刷新操作刷新具有JavaScript的交互式網格
apex.region("region_static_id").widget().interactiveGrid("getActions").invoke("refresh");
這將獲取正確的所有記錄(包括更新的),並重繪互動電網。 Id''like變更變得可見而不重繪。我想通過行迭代,使用row-refresh
行動通過id更新其中的每一個,但我不知道它是如何工作的(或至少如何正確調用它)。這個動作應該可以,因爲它是在可用操作的列表,正確列出,我得到當我執行此:
apex.region("region_static_id").widget().interactiveGrid("getActions").list().forEach(function(a){console.log("Action Label: "+a.label+", Name: "+a.name+(a.choice!==undefined?", Choice: "+a.choice:""));});
所以,問題是:
我怎樣才能通過調用刷新行交互式網格中的row-refresh
操作?
刷新行的替代方法(最好通過指定行ID)也是受歡迎的。