建立列動作與資料表的關聯性

您可以對資料表中顯示的記錄執行像讀取、更新和刪除之類的動作。執行動作的方式之一是新增列動作支援。當您將列動作新增至資料表時,它會新增為新直欄。 因此使用者只要按一下該列的任何位置就可以對它執行動作。

如果要新增資料表的列動作支援,請執行下列動作:
  1. 選取資料表。
  2. 在資料表的「內容」視圖的列動作標籤中, 按一下「新增按一下列時會執行的動作」旁的新增 這時會新增一個列動作,成為資料表中的新直欄。這樣一般使用者只要按一下該列的任何位置就可以對它執行動作。
  3. 如果要建立動作和列的關聯性,請執行下列動作:
    1. 選取「列動作」直欄中的列動作圖示。(確定您沒有不小心選取直欄標頭或直欄。) 這時會開啟「列動作內容」視圖 (commandExRowAction)。
    2. 開啟「列動作」的「快速編輯」視圖 以存取動作的 Java™ 程式碼。
    3. 用滑鼠右鍵按一下「快速編輯」的右窗格。
    4. 按一下插入片段 這時會開啟預先編碼的動作的功能表。
    5. 請選取您要與資料表相關聯的動作。
  4. 新增導覽規則以定義要移至的任何頁面。請參閱建立 Faces JSP 頁面的導覽,以取得導覽規則的詳細資訊。

範例:這個實務是在執行時期,從選定的資料表可用的列產生兩個值, 然後將它們傳遞至「詳細資料」頁面。您開始進行的資料表是連結到像 Cloudscape™ 或 DB2® 之類的資料庫中的「關聯式記錄清單」, 或是連結到類型為 java.util.List 且包含 java.util.Map 物件的 Bean 值。接著,您會建立和列動作相關聯的參數。

  1. 如上述,將列動作直欄新增至資料表中。
  2. 在「列動作」的「快速編輯」視圖中,記下新增至動作的備註, 這類似於下列備註:
       // TODO 自動產生的方法
    		//     取得所選列的索引
    		//     int row = getRowAction1().getRowIndex();
    		//
    		//     將鍵值從選項複製到要求,以便能在資料庫過濾條件中使用它們
    		//     比方說,如果表格有 "keyvalue" 一欄,並且有一個使用過濾條件 "request.keyvalue" 的 SDO 物件,
    		//     則這段程式碼會設定要求,
    		//     使過濾條件能夠正確運作
    		//     如果是 5.1 版伺服器,請使用:
    		//     Object keyvalue = getData().getDataObjectAccessBean(row).get("keyvalue");
    		//     如果是第 6 版伺服器,請使用:
    		//     Object keyvalue = ((DataObject)getData.get(row)).get("keyvalue");
    		//
    		//     getRequestScope().put("keyvalue", keyvalue);
    		//
    		//     指定回覆值(一個字串),
    		//     導覽對映用它來決定要顯示的下一頁
  3. 在「列動作內容」視圖中,您可以導覽至「詳細資料」頁面。
您也可以啟用資料表的「列選項」,並建立動作和「指令 - 按鈕」元件的指令事件的關聯性,來建立所選取資料記錄的動作。 請參閱下列相關作業來取得其他列動作的鏈結。
相關概念
JavaServer Faces
資料表元件
相關工作
建立 Faces 應用程式 - 概觀
新增資料表
啟用資料表的列選項
將列種類支援新增至資料表中
將列編輯新增至資料表中
以資料表傳遞參數
在 JSP 檔之間傳遞參數
建立 Faces JSP 檔的導覽
將標頭和標底新增至 Faces JSP 檔中
相關參考
Faces 元件參照
Faces 屬性參照
使用條款 | 讀者意見
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.