介紹
在adf的table中,我們能實現在**中新增,編輯,刪除行的功能,以及一行資料中的級聯。然而在多數時候,當一行的列太多,**中的資料量不多的時候,這種在table中直接新增的方式則顯得很不友好,因為要來回的拉動橫向的滾動條。那麼有什麼辦法能以表單的方式來新增一行,新增一條資料時新增乙個表單,直到有多個表單出現在頁面上,當然也包括刪除,級聯等(還沒有實現資料量大時分頁功能,因此此功能現在只使用少量資料新增)。本文將介紹如何實現本功能。
效果預覽
準備
本例項將以oracle資料庫自帶的事例schema hr作為資料來源。另外轉殖乙個employees的表employees_bak作為要新增刪除的物件,表中的資料量不要太大,可以刪除一些。 而上圖中的manager欄位仍然以原有的employees表作為下拉列表的資料來源,以便做級聯時用。
關鍵步驟
1.按照adf標準的做法,在datacontrol中將employees的vo拖到頁面上,生成乙個可編輯的table(此舉只為方便後面的步驟,做完後面的步驟,請刪除本操作生成的table)。
2.使用af:iterator迭代table中value屬性的值,如:#
[html]view plain
copy
<
af:iteratorid=
"i1"
value
="#"
var=
"row"
varstatus
="vs"
>
af:iterator
>
3.在af:iterator標籤中,可以任意的去排版這個form,form中的元素可以從第一步中生成的table中去拖取,內容不用做修改。
4.設定級聯元件的partialtriggers
5.為此功能新增插入、刪除、提交、回滾功能。做法和在table中完全一致
6.當表中沒有資料時,我們希望在進入頁面的時候自動建立乙個新行,可以在taskflow中使用router判斷是否需要建立行
總結
其實本文主要還是用例項來說明iterator元件的使用,關於iterator元件和foreach元件的區別可以參見我早些時候寫的部落格
**:
如何給動態新增的form表單控制項新增表單驗證
最近使用jquery validate做表單驗證很方便,api位址為 但是在使用的時候也遇到了乙個問題 當乙個jsp頁面載入完成後便通過js開始給頁面的表單元素新增驗證規則,如果我們需要給form表單通過js新增表單控制項,而這些表單控制項也需要驗證怎麼辦呢?解決的辦法為 在新增完乙個表單控制項以後...
ADF中多選框實現
實現如上效果,可以選擇乙個或多個儲存和刪除 多選框對應 如果每次進來之後有預設選擇項,而且不能同時選擇多個,這裡需要設定屬性,直接通過拖拽vo生成的會帶有selectionstate屬性,把這個去掉就可以實現多選。實現選擇多個同時儲存,對應的後台方法 public string toaddcomse...
js 動態新增多表單控制項 div
動態建立div層 document.write 清除層內容 document.getelementbyid popupmenu innnerhtml jssay 初級程式設計師 2009 10 15 div遮罩層嘛 var p 1 function createupload p var div do...