2011-11-16 39 views
0

我正在創建頂尖的學生管理系統。它的缺點是講師和學生可以登錄的地方。講師創建作業,分配作業,標記作業,參加考勤,記錄問題......所有這些,以及學生登錄後查看他們的出勤率和結果。將APP_USER設置爲要傳遞到APEX中的目標頁面的值

現在,當學生點擊「我的結果」鏈接時,它將導航到講師看到的同一頁面,但選擇的學生被選中查看結果的選擇列表已被隱藏。選擇列表顯示學生姓名並返回該學生的ID,這也恰好是學生登錄的用戶名。

所以我想在學生點擊時傳遞應用用戶的值該鏈接僅顯示其結果。

我試圖設置

these items 
:P10_SELECT_STUDENT 
with these values 
#APP_USER# 

其作品,但「沒有發現數據」顯示沒有消息。

只是爲了測試我已經設置選擇列表將顯示給學生,當頁面加載它與null值加載在這

display value 
select a student 
return value 
-1 

我已經在列表的頂部離開並手動設置傳遞的值爲測試學生的ID。工作一種享受,爲該學生加載數據!

因此,沒有人知道爲什麼#APP_USSER#值IM發送的心不是在列表框中被事先設定

回答

1

謝謝你需要的是APP_USER變量的會話狀態。在查詢中,您可以參考:APP_USER。當您需要將該值作爲參數傳遞給例如鏈接時,您可以使用替換字符串符號&APP_USER.與引用任何其他變量/頁面項目的方式大致相同。

例如,建立一個按鈕: button setup with app_user

一個好的頁面上替換字符串讀了起來:Application Builder Concepts

哈希標誌符號通常用於非PLSQL變量替換,如通過在鏈接時通過報表列的值,

+0

我只是改變了值:APP_USER和列表框設置爲空值是-1。 – Zac

+0

好的,繼續:你的選擇是基於學生的ID。這個ID是數字,還是實際上是用戶名,就像您在登錄後看到它顯示在每個頁面的底部一樣? – Tom

+0

這是數字,登錄後頁面上顯示相同的數字 – Zac

0

扎克,

如果用戶沒有進行自我驗證則:APP_USER對儀表爲空。如果用戶通過SSO進行身份驗證,或者通過DB憑證或您在應用程序中擁有的任何身份驗證,那麼:APP_USER將被填充。

這是我明白的: 在第12頁,P12_STUDENTS是一個選擇列表,你想讓它反映當前的學生,如果他進入或整個列表,如果他是一個老師的權利?

您不需要通過:APP_USER通過鏈接或分支或其他。它作爲全局Apex變量存在,並在第12頁中通過APP_USER顯示,但如果用戶未通過身份驗證,則它的值爲空。

你的選擇列表源應該是這樣的:

select display d, return r 
    from table 
    where (:APP_USER is NULL 
     OR (:APP_USER IS NOT NULL AND :APP_USER = student)) 

告訴我,如果這有助於?

問候,

亞歷

相關問題